【Excel】#CALC!の原因と直し方|FILTERの該当なし・LAMBDA・配列を確認

【Excel】#CALC!の原因と直し方|FILTERの該当なし・LAMBDA・配列を確認
🛡️ 超解決

Excelの#CALC!は、配列計算などで処理できない条件に遭遇したときに表示されます。FILTERの該当件数が0の場合が一例ですが、それだけが原因ではありません。まずエラーセルの詳細と使用関数を確認してください。

【要点】FILTERなら抽出条件と第3引数、LAMBDAなら呼び出しの有無を確認します。結果を置く場所がふさがっている#SPILL!や、文字列の長さによる#VALUE!とは分けて対処します。

ADVERTISEMENT

1. FILTERで該当する行がない場合

A列が案件名、B列が状態の一覧で、未完了の案件を抽出する例です。

=FILTER(A2:B4,B2:B4="未完了","該当なし")

第3引数の「該当なし」は、条件に一致する行がない場合の表示です。第3引数を省略した式で抽出結果が空になると#CALC!になります。実際には未完了の行があるのに該当しない場合は、状態の表記や余分な空白、参照範囲を先に調べます。

状態がすべて完了の3案件に未完了の条件を適用すると0件。FILTERの第3引数なしは#CALC!、該当なしを指定するとその文字を返す。
0件は正常な検索結果の場合もあります。条件の誤りと区別し、第3引数で表示を決めます。
※ お探しの解決策が見つからない場合は、こちらの「Excelトラブル完全解決データベース」で他のエラー原因や解決策をチェックしてみてください。

2. 「該当なし」と入力データのエラーは別に扱う

FILTERの第3引数は、抽出条件にエラーが含まれる場合まで解決するものではありません。条件列に#N/Aなどがないか、抽出範囲と条件範囲の行数がそろっているかを確認します。

後続の式が複数列の表を期待している場合、該当なしのときに1セルの文字列を返すことにも注意します。抽出結果をさらに集計する設計では、0件の場合に後続処理をどう分けるか決めてください。数値の0を返す指定は、実データの0と誤認されない用途に限ります。

3. 関数を組み合わせること自体が原因とは限らない

配列の中に別の配列をそのまま格納しようとするなど、対応していない配列構造でも#CALC!が起こります。しかし、関数を入れ子にすれば必ずエラーになるわけではありません。SORTとFILTERを組み合わせるような、対応した構成もあります。

複雑な式はコピー上で内側の式を別セルに分け、どの段階からエラーになるかを確認します。MAPなどに置き換えるだけで解消するとは限らず、各関数が受け取る値と返す値の形を確かめる必要があります。

4. LAMBDAは定義しただけか呼び出したかを見る

LAMBDAをセルで試す場合、定義だけを書いた=LAMBDA(x,x*2)では結果を計算するための値を渡していません。テストとして=LAMBDA(x,x*2)(7)と呼び出すと14を返します。

繰り返し使う関数として名前の管理に登録する場合は、その名前に引数を渡して利用します。LAMBDA自体が使えるExcelかどうかも確認してください。未対応の関数による#NAME?は、呼び出し忘れの#CALC!とは別の問題です。

5. 似ているエラーと区別する

表示 確認する対象
#CALC! 空の抽出結果、LAMBDAの未呼び出し、非対応の配列構造など。
#SPILL! 結果の展開先に値・結合セルなどがないか。詳細に応じて確認する。
#VALUE! 値の型・引数など。TEXTJOINで結果がセルの文字数上限を超える場合もこちら。
#NAME? 関数名や名前の定義、使用バージョンの対応状況。

Web版のカスタム関数などには、機能固有の制約もあります。「データが多いから」と行を削除する前に、表示された詳細とその機能の仕様を確認します。

まとめ:空の結果か、式の構造かを切り分ける

FILTERの0件は第3引数で扱い、それ以外は式のどの部分が計算できないかを調べます。すべてをIFERRORで隠すと、抽出条件の間違いと正常な0件を区別できなくなります。Microsoftの#CALC!原因別説明とTEXTJOINの制限で確認できます。

📊
Excelトラブル完全解決データベースこの記事以外にも、様々なエラー解決策をまとめています。困った時の逆引きに活用してください。
この記事の監修者
📈

超解決 Excel・Word研究班

企業のDX支援や業務効率化を専門とする技術者チーム。20年以上のExcel・Word運用改善実績に基づき、不具合の根本原因と最短の解決策を監修しています。ExcelとWordを使った「やりたいこと」「困っていること」「より便利な使い方」をクライアントの視点で丁寧に提供します。

🏆
超解決 Excel検定 あなたのExcel実務能力を3分で測定!【1級・2級・3級】