エラーの内容
Formula parse error
Google Sheetsは、数式の構造を解釈できない場合にこのエラーを表示します。行番号も、役立つヒントも何もなく、ただ赤いセルと曖昧なメッセージが表示されるだけです。良いニュースは、実際に原因となるパターンはほんの一握りしかないということです。
なぜこのエラーが発生するのか
Sheetsは数式が実行される前に拒否します。つまり問題は構造的なものであり、値が不正なのではなく、構文が誤っているということです。よくある原因は以下の通りです:
- ロケールに対して引数の区切り文字が間違っている(
,と;の違い) - 対応していない括弧や角括弧
- 関数名のタイポ
- 閉じられていない、またはスマートクォート文字(
""の代わりに"") - Sheetsがサポートしていない、Excel専用の関数
- 後ろに何も続かない演算子(
=A1+)
修正手順
1. 引数の区切り文字を確認する
これが最もよくある原因です。Google Sheetsでは関数の引数区切り文字として , または ; のどちらかを使用しますが、どちらを使うかはスプレッドシートのロケールによって異なります。ヨーロッパのロケール(ドイツ、フランス、オランダ)ではセミコロンを使用し、米国のロケールではカンマを使用します。
ヨーロッパのロケールでは失敗する例:
=IF(A1>10, "Yes", "No")
修正方法 — カンマをセミコロンに置き換える:
=IF(A1>10; "Yes"; "No")
確認方法:ファイル → 設定 → ロケール。異なる国のユーザーとスプレッドシートを共有する場合は、事前に一つのロケールで合意し、それを統一して使用しましょう。
2. 括弧の数を数える
( には必ず対応する ) が必要です。ネストされた数式では、これを見落としがちです。3つのIFをネストした数式には、バランスさせるべき括弧が少なくとも8つあります。
誤った例:
=IF(AND(A1>0, B1>0), "Both positive", "No"
修正後:
=IF(AND(A1>0, B1>0), "Both positive", "No")
簡単なコツ:数式バーで数式の末尾をクリックしてください。Sheetsは対応する括弧のペアを色で強調表示します。内側から外側に向かって確認し、最初の対応していない括弧が問題箇所です。
3. 関数名のタイポを確認する
1文字でも間違えると、Sheetsはその関数を認識できなくなります。
誤った例:
=VLOKUP(A1, B:C, 2, 0)
修正後:
=VLOOKUP(A1, B:C, 2, 0)
入力中、Sheetsは青いオートコンプリートのドロップダウンを表示します。ドロップダウンが表示されない場合は、関数名が間違っています。また、Apps Scriptで作成したカスタム関数では大文字・小文字が区別されるため、完全一致が必要です。
4. 引用符のミスマッチを修正する
スマートクォート(曲がった " と " の文字)は目に見えないトラブルの原因です。Wordの文書、PDF、または一部のWebサイトから数式を貼り付けると、ストレートクォートがスマートクォートに置き換わることがあります。Sheetsはスマートクォートを受け付けません。
誤った例(Wordからスマートクォートを貼り付けた場合):
=IF(A1="yes", "OK", "No")
修正後:
=IF(A1="yes", "OK", "No")
数式バー内で引用符を手動で再入力してください。ショートカットはありません。それぞれ削除して打ち直す必要があります。そもそも最初から Ctrl+Shift+V でプレーンテキストとして貼り付けるのが最善策です。
5. Excel専用の関数を確認する
一部のExcel関数はSheetsに存在しません。それらを使用すると、Sheetsが名前を認識できないためパースエラーが発生します。
Excelの関数Sheetsの代替
NUMBERVALUE`VALUE`
FORECAST.ETS`FORECAST`(基本的な線形予測)、または指数平滑法にはアドオンを使用
STOCKHISTORY`GOOGLEFINANCE`
IFS(2019年以前のSheets)ネストした `IF` — またはアカウントがIFSに対応しているか確認する
6. 末尾の演算子や余分な文字を削除する
末尾に余分な +、-、またはカンマがあると、パーサーが混乱します。演算子の後にオペランドが来ることを期待しているのに、何もないからです。
誤った例:
=A1+B1+
=SUM(A1:A10,)
修正後:
=A1+B1
=SUM(A1:A10)
7. 数式バーを使って問題を切り分ける
Sheetsは数式バー内で壊れている箇所を赤く直接ハイライトすることがあります。それが表示されない場合は、後ろから作業してください。エラーが消えるまで数式の末尾から文字を削除していきます。それにより、パーサーがどのあたりでつまずいているかが分かります。
非常に複雑な数式の場合は、複数のセルに分割してください。それぞれのパーツを単独で動作確認してから組み合わせます。時間はかかりますが、長い壊れた数式を1時間眺め続けるよりはマシです。
修正を確認する
変更を加えたら:
- セルには赤いエラー表示ではなく、結果が表示されているはずです
- セルをホバーしてもエラーのツールチップが表示されないはずです
- 数式バー内の数式テキストが赤ではなく通常の色で表示されているはずです
- 数式が
IFERRORでラップされていた場合、一時的にそのラッパーを削除して、元の数式が本当に正しく動作しているかを確認してください
次回以降のために気をつけること
- 複雑な数式は段階的に作成する — 内側の関数から始め、動作を確認してから次の層でラップする
- Sheetsの引数ヒントを活用する — 関数の括弧を開くと、Sheetsが正確な引数リストを表示します。それに従いましょう
- 数式はプレーンテキストとして貼り付ける — Ctrl+V の代わりに Ctrl+Shift+V を使うことで、外部ソースからのスマートクォートや隠れた文字を取り込まずに済みます
- ロケールは最初に一度だけ設定する — スプレッドシート作成時に決めましょう。同じファイル内のシート間でカンマとセミコロンの区切り文字を混在させると、必ずトラブルの原因になります
- 名前付き範囲を使用する — 5つのネストした関数の中に埋もれた
$B$2:$B$200より、totalSalesの方が間違えにくいです

