Array Expansion Error: Missing ARRAYFORMULA wrapper for CSE arrays の原因と解決策

最終更新日: 2026-08-27

💡 このエラーを含む【Formulaエラー完全攻略ハンドブック】をnoteで公開中 →

30秒でわかる原因と解決策

原因: Googleスプレッドシートなどで、複数の値を返す配列数式(CSE配列)を入力した際、展開先のセルが不足しているか、自動展開を有効にする ARRAYFORMULA ラッパーが省略されているため。 解決策: 数式の先頭に ARRAYFORMULA() 関数を追加し、結果を展開する十分なスペースを確保する。

修正コード(Before / After)

❌ エラーが発生するコード

=IF(A1:A10<>"", B1:B10 * C1:C10, "")

⭕ 修正後の推奨コード

=ARRAYFORMULA(IF(A1:A10<>"", B1:B10 * C1:C10, ""))

よくある発生パターンと解説

なぜこのエラーが発生するのか?

GoogleスプレッドシートやExcelなどの表計算ソフトでは、1つのセルに数式を入力して複数の結果(配列)を一度に出力する操作(配列数式)を行うことがあります。

従来、これらは Ctrl + Shift + Enter (CSE) を押して配列数式として明示的に確定させる必要がありましたが、近年のGoogleスプレッドシートでは動的配列(Dynamic Arrays)がサポートされています。しかし、条件分岐や特定の関数(IF 関数など)の範囲指定において、スプレッドシートが自動的に配列全体を処理できないケースがあります。

このとき、数式の結果が単一のセルに収まらず、隣接するセルへ「拡張(Expansion)」する必要があるにもかかわらず、その指示(ARRAYFORMULA)が抜けている場合に “Missing ARRAYFORMULA wrapper for CSE arrays” エラーが発生します。

具体的な解決手順

  1. エラーが発生しているセルを選択します。
  2. 数式バーを確認し、数式の最も外側を ARRAYFORMULA(...) で囲みます。
  3. Enterキーで確定します(必要に応じて展開先のセルに値が自動的に広がります)。

よくある質問 (FAQ)

Q1: ARRAYFORMULA を追加したのに「#REF!」エラーが出ます。

A: 配列が展開される予定のセル(右側や下側のセル)にすでに別のデータや文字が入力されている可能性があります。「#REF!」エラーを解消するには、展開先のエラー範囲を空っぽ(空白)にしてください。

Q2: 従来の Ctrl + Shift + Enter はもう必要ありませんか?

A: Googleスプレッドシートにおいては、多くのケースで ARRAYFORMULA 関数を使用するか、動的配列機能によって自動的に処理されるため、手動で Ctrl + Shift + Enter を押す必要性は薄れています。ただし、関数内で配列処理を明示するために ARRAYFORMULA の記述は依然として重要です。

💡 このエラーを含む【Formulaエラー完全攻略ハンドブック】をnoteで公開中 →