Notionのデータベースで数式プロパティを使うと、集計や条件分岐を自動化できて便利です。しかし、思わぬエラーが表示されて作業が止まってしまうことも少なくありません。特に「型の不一致」や「参照先の誤り」が原因でエラーが発生するケースが大半を占めています。この記事では、数式プロパティでよく見られるエラーの原因を体系的に整理し、実際のチェック手順を紹介します。エラーメッセージを正しく読み解くことで、素早く原因を特定し修正できるようになります。
【要点】この記事で確認すること
- 最初に見る場所: エラーメッセージそのもの(#ERROR!、Type mismatch など)と、数式エディタのシンタックスハイライトの状態です。
- 切り分けの軸: 参照しているプロパティのデータ型が正しいか、数式の構文が正しいか、参照先のプロパティ名が存在しているかの3つです。
- 注意点: 会社の共有データベースでは、プロパティの型を勝手に変更すると他のメンバーの数式やビューに影響を与える可能性があるため、管理者に確認してから変更してください。
ADVERTISEMENT
目次
数式プロパティのエラー原因を理解する
Notionの数式プロパティでエラーが発生する原因は、大きく分けて3つあります。1つ目はデータ型の不一致、2つ目は参照先プロパティの不存在や名称の誤り、3つ目は数式の構文エラーです。このうち最も多いのがデータ型の不一致です。たとえば、テキスト型のプロパティを数値として計算しようとしたり、日付型を文字列結合に使おうとするとエラーになります。また、プロパティ名を変更したにもかかわらず数式内の名前を更新し忘れるケースも頻繁に発生します。さらに、空のプロパティ(値がない状態)を演算に含めると、想定外の結果やエラーの原因になります。
エラーの種類を正しく特定するためには、まずエラーメッセージを確認することが重要です。Notionの数式プロパティでは、画面上に「#ERROR!」と表示されるほか、数式エディタの下部に具体的なエラー内容が赤字で表示されることがあります。ここに表示されるメッセージを読み取る習慣をつけましょう。
エラーメッセージの種類と意味
Notionの数式プロパティで表示される主なエラーメッセージを以下にまとめます。それぞれの意味を理解しておくと、原因の絞り込みが容易になります。
| エラーメッセージ | 意味 | 主な原因 |
|---|---|---|
| #ERROR! | 数式の実行に失敗した | 構文エラー、型の不一致、参照プロパティの欠落など |
| Type mismatch | データ型が合っていない | 数値と文字列の混在、日付と数値の演算など |
| Invalid property | 指定したプロパティが存在しない | プロパティ名の誤字、削除されたプロパティを参照 |
| Division by zero | 0で除算しようとした | 分母が0または空のプロパティを数値として扱った |
| Argument error | 関数の引数が正しくない | 引数の数が足りない、または型が間違っている |
これらのエラーは、それぞれ異なる対処が必要です。次のセクションで具体的なチェック手順を説明します。
データ型の不一致をチェックする手順
数式プロパティで「Type mismatch」や「#ERROR!」が表示された場合、まずデータ型が正しいかを確認してください。以下の手順でチェックを進めます。
- エラーが出ている数式プロパティをクリックし、数式エディタを開きます。
- 数式内で使用している
prop()関数の引数に指定しているプロパティ名を確認します。プロパティ名にスペルミスがないか、大文字小文字が一致しているかをチェックしてください。Notionはプロパティ名の大文字小文字を区別します。 - 対象のプロパティのデータ型を確認します。データベースのプロパティ設定画面で、そのプロパティが「テキスト」「数値」「日付」「セレクト」「チェックボックス」など、どの型になっているかを見てください。
- 数式で行おうとしている演算と、参照プロパティの型が一致しているかを検証します。たとえば、数値型のプロパティ同士は加減乗除が可能ですが、テキスト型のプロパティを数値計算に使うとエラーになります。日付型を文字列結合したい場合は
formatDate()関数で変換する必要があります。 - 不要な演算がないか確認します。たとえば、文字列と数値を「+」で連結しようとするとエラーになります(テキスト結合には
+は使えません)。テキストの連結はconcat()関数を使うか、""で囲んだ文字列リテラルとの+は自動変換される場合もありますが、明示的に関数を使うほうが安全です。 - 空のプロパティ(値が入力されていない)が含まれている場合、演算結果が想定外になることがあります。数式内で
empty()関数を使って空のチェックを行い、条件分岐を入れるとエラーを回避できます。
以上の手順で型の不一致が解消されることが多いです。それでもエラーが消えない場合は、参照先プロパティの問題を疑います。
ADVERTISEMENT
参照先プロパティの有無と名称を確認する
「Invalid property」エラーが出た場合や、数式が正しいはずなのに動作しない場合は、参照しているプロパティが実際に存在するかを確認しましょう。以下のポイントをチェックしてください。
- プロパティ名の正確な一致: 数式内で
prop("プロパティ名")と書くとき、プロパティ名はダブルクォーテーションで囲み、データベース上の表示名と一字一句同じにします。全角半角の違いもエラーの原因になります。 - プロパティの削除・リネーム: データベースのプロパティを削除したり名前を変更した場合、既存の数式は自動的に更新されません。数式エディタを開き、参照が残っていないか確認し、必要に応じて修正します。
- データベースの種類: ロールアップやリレーションで参照している先のデータベースのプロパティが正しいかも確認します。関連データベースのプロパティを参照する場合、
prop()の中にリレーションプロパティ名を入れ、その後にピリオドでつなぐ必要があります(例:prop("関連").map(current.prop("金額")))。 - 数式のコピー&ペースト: 他のデータベースから数式をコピーした場合、参照先のプロパティ名が異なるためエラーになります。そのまま使わず、必ず自データベースのプロパティ名に書き換えてください。
これらの確認を行うことで、参照先の誤りを解決できます。
よくある失敗パターンと対処例
実際の業務でありがちな失敗例をいくつか紹介します。同じようなエラーに遭遇したときに参考にしてください。
失敗パターン1: 数値を文字列として扱ってしまう
例: プロパティ「単価」(数値型)と「数量」(数値型)を掛け算して「金額」を計算したい。prop("単価") * prop("数量") と書いたが「#ERROR!」が表示される。
原因: 単価または数量のプロパティがテキスト型になっている。
対処: プロパティ設定で「単価」と「数量」を数値型に変更する。ただし、共有データベースの場合は管理者に確認してから変更します。
失敗パターン2: 日付のフォーマットを間違える
例: 日付プロパティ「開始日」を「2024/12/01」のような文字列に変換したい。formatDate(prop("開始日"), "YYYY/MM/DD") と書いたが「Argument error」となる。
原因: formatDate関数の第二引数はフォーマット文字列ですが、Notionの形式は "YYYY-MM-DD" のようにダッシュ区切りが正しい場合があります。また、formatDate の第一引数は日付型である必要があります。
対処: フォーマットを "YYYY-MM-DD" に変更するか、Notionの公式ドキュメントで正しい書式を確認します。または formatDate(prop("開始日"), "MM/DD/YYYY") など目的の形式に合わせます。
失敗パターン3: 空のプロパティを計算に含める
例: 「合計」を計算する数式で、一部の行に「金額」が未入力の場合にエラーになる。
原因: 空のプロパティは数値として扱えないため、演算エラーが発生する。
対処: if(empty(prop("金額")), 0, prop("金額")) のように、空の場合に0を代入する条件分岐を入れます。
状況別のエラー原因と対応の比較表
エラーの状況に応じて、素早く対応できるように比較表を用意しました。以下の表を参考に、該当するケースに当てはめて対処してください。
| エラーの状況 | 考えられる原因 | 確認すべきポイント | 推奨対処 |
|---|---|---|---|
| すべての行で#ERROR! | 数式の構文ミス、存在しないプロパティ参照 | 数式エディタ全体、prop()内の名前 | プロパティ名を確認し、構文を見直す |
| 一部の行だけエラー | 特定の行でデータ型が異なる、または値が空 | エラーが出ている行のプロパティ値を確認 | 空チェックや型変換を数式に追加 |
| Type mismatchのみ表示 | 異なるデータ型の演算 | 数式内のすべてのプロパティの型 | 型を統一するか、変換関数(toNumberなど)を使う |
| Invalid property | プロパティ名の誤り、削除 | データベースのプロパティ一覧と数式内の名前 | プロパティ名を修正する |
| Division by zero | 分母が0または空 | 分母に使っているプロパティの値 | if文で0除算を回避する条件を追加 |
管理者に確認すべきこと
会社で共有しているNotionデータベースで数式エラーが発生した場合、プロパティの型変更やリネームは慎重に行う必要があります。以下の内容を管理者に確認してから対応しましょう。
- プロパティの型を変更しても他の数式に影響がないか: 同じデータベースを使っている他のメンバーが、そのプロパティを数式やフィルターで参照している可能性があります。変更前に影響範囲を把握してください。
- プロパティ名の変更は承認が必要か: プロパティ名を変更すると、そのプロパティを参照しているすべての数式が壊れます。変更の際はチーム内で合意を取り、数式の一括修正を計画しましょう。
- エラーが発生している数式プロパティの編集権限: データベースの設定で、特定のユーザーだけが数式を編集できるように制限されている場合があります。自分に権限がない場合は管理者に依頼してください。
- テンプレートやデータベースの複製で問題が再現するか: エラーが解消しない場合、データベース自体に問題がある可能性があります。テスト用に複製して同じ数式を試し、問題が再現するか確認しましょう。
よくある質問 (FAQ)
- Q: 数式プロパティで「#ERROR!」と表示され、エラーメッセージが何も表示されません。どうすればいいですか?
A: 数式エディタを開き、赤い下線やエラーアイコンがないか確認してください。それでも分からない場合は、数式を一文ずつ削除して原因を特定する「デバッグ」を行います。また、ブラウザのキャッシュをクリアして再読み込みすると改善することがあります。 - Q: 日付の計算をしたいのですが、エラーになります。日付の加減算はどう書けばいいですか?
A: 日付型のプロパティに数値を加減算する場合は、dateAdd()関数やdateSubtract()関数を使います。たとえば、開始日に7日を加えるにはdateAdd(prop("開始日"), 7, "days")と記述します。第三引数は “days”, “months”, “years” などが使えます。 - Q: テキストの中から数字を取り出して計算したいのですが、可能ですか?
A: 数式プロパティだけでは難しい場合があります。テキストから数値を抽出する正規表現のような機能はNotionの数式にはありません。別途ロールアップや外部連携ツールを使うか、データ入力時に数値型のプロパティに分けて保管する運用を検討してください。 - Q: 数式が突然エラーになりました。何も変更していないのに壊れたのはなぜですか?
A: 参照しているプロパティの型が変更された、またはプロパティ名が変更された可能性が高いです。チームメンバーがデータベース構造を変更したかどうかを確認してください。また、Notionのアップデートで関数の仕様が変わったことも稀にあります。
まとめ
Notionの数式プロパティでエラーが出た場合は、まずエラーメッセージを読み、データ型と参照先を確認することが基本です。型の不一致が最も多い原因であり、次に参照先プロパティの存在確認が重要です。会社の共有データベースでは、変更前に管理者と相談し、影響を最小限に抑えるようにしましょう。エラーが発生しても慌てずに、原因を一つずつ切り分けることで確実に解決できます。日頃からプロパティの設計を整理しておくことも、エラーを予防する有効な手段です。
ADVERTISEMENT
超解決 第一編集部
疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。
Office・仕事術の人気記事ランキング
- 【Word】差し込み印刷で数字の桁を整える!金額にカンマ(桁区切り)を入れる設定
- 【Copilot】「サービスに接続できません」エラーの原因切り分けと対処法
- 【Teams】メッセージを「保存済み」にして後で読む!重要なチャットをブックマークして整理する技
- 【PDF】PDFのサムネイルプレビューが表示されない!エクスプローラーの設定とAcrobat環境設定
- 【PDF】PDFに入力した文字の「フォント・サイズ・色」を変更するプロパティ設定
- 【Outlook】添付ファイルが「Winmail.dat」に化ける!受信側が困らない送信設定
- 【Excel】文字がセルの枠からはみ出す・隠れる!「折り返して表示」と「縮小して全体を表示」の使い分け
- 【Word】校閲機能の基本!赤字(変更履歴)とコメントで修正を見える化する
- 【PDF】結合するPDFの「用紙サイズ」がバラバラな時、すべてを「A4サイズ」に強制リサイズしてから結合する
- 【Outlook】メール本文が「文字化け」して読めない!エンコード設定の変更と修復手順
