いきなり答える備忘録

Google Workspace・Microsoft 365・LibreOfficeなどに関するメモ

(Notion)関数で値の有無を判定する

 Notionの関数プロパティ(列)で他のプロパティを参照して値の有無(値が空かどうか)を判定する方法についてです。

  • 「empty(prop("プロパティ名"))」という式で、プロパティの値の有無を判定できます。
  • テキストや(マルチ)セレクトなど文字列が記録されているプロパティについては「prop("プロパティ名") == ""」でも判定できます。

empty関数を使う方法

 画像では「生年月日有無」という関数プロパティ(列)から「生年月日」プロパティ(値の種類は「日付」)を参照して、結果に応じ「値なし」または「値あり」と表示しています。

 関数式

if(empty(prop("生年月日")), "値なし", "値あり")

 if関数を使っていますが、条件式の「empty(prop("生年月日"))」の部分がポイントです。
 empty関数は値がなければtrue(真)に、あればfalse(偽)になりますのでそれに応じて戻り値を設定しています。



 ところで、Excelなどのように比較演算子を使って判定できそうな気もしますが、日付や数値については「== ""」(空である)とか「!= ""」(空でない)という判定ができずエラーになります。
 empty関数なら値の種類(型)によらず判定できますので、こちらで覚えておいた方が無難です。



 また、否定形にする場合は emptyの前に「not 」を付けます。
 not関数で囲んでも(つまり「not(~)」とする)いいですが自動的にこの表記に直されます。

比較演算子を使う方法

 値の有無の判定については上記のようにempty関数を使えば間違いありませんが、値の種類がテキストやセレクト/マルチセレクトなどの場合は文字列として記録されているので、比較演算子を使って「== ""」(空である)とか「!= ""」(空でない)という判定をすることも可能です。
 次の画像では「特技」プロパティ(値の種類は「テキスト」)を参照して、結果に応じ「値なし」または「値あり」と表示しています。

 関数式

if(prop("特技") == "", "値なし", "値あり")

 


 否定形(空でない)については「== ""」を使った式をnot関数で囲んでもOKです。
 empty関数の場合と異なり頭に「not 」をつけるだけではエラーになります。