📊つかえる関数.com

スピル(動的配列)機能とは?どのバージョンで使える?

結論

スピルはExcel 2021/2024およびMicrosoft 365で利用できる機能です。

数式・計算中級·

詳しい解説

スピルはExcel 2021/2024およびMicrosoft 365で利用できる機能です。1つのセルに入力した数式の結果が複数セルに自動展開されます。Excel 2019以前では、同様の処理にCtrl+Shift+Enterによる配列数式(CSE数式)が必要でした。スピル範囲を参照するには「#」演算子(例: A1#)を使います。

旧バージョンでの代替方法

Ctrl+Shift+Enter(CSE)配列数式Excel 2016以降

Excel 2016/2019ではスピルが使えないため、Ctrl+Shift+Enterで確定する配列数式({=数式} と表示)で複数セルへの一括計算が可能。ただし事前に結果範囲を選択してからEnterが必要で、スピルより操作が煩雑。

よくあるエラーと対処法

#SPILL!

原因: スピル先の範囲に既にデータが入っているため、結果を展開できない。スピル範囲内のセルが空でないと発生する。

対処: スピルエラーが発生しているセルを選択すると、スピルしようとした範囲が青い枠で表示される。その範囲内のデータ(値・数式・スペースなど)を削除またはクリアする。

@演算子による暗黙的インターセクション

原因: Excel 2021/2024/365で旧バージョンのファイルを開くと、配列を返す可能性のある数式に@が自動挿入される場合がある。これにより配列の代わりに単一値のみ返るよう制限される。

対処: @を削除して数式を確定するとスピル動作に切り替わる。ただしスピル先が空であることを事前に確認すること。

執筆・検証:田中 けんた|Excel歴15年・MOS資格保持

バージョン対応

バージョン対応状況
Excel 2016Excel 2019Excel 2021Excel 2024Microsoft 365
非対応非対応対応対応対応

実務での使用例

1つの数式で連番を生成

=SEQUENCE(100) と入力するだけで1〜100の連番が100行に展開される。従来は100行に1つずつ数式を入れるか、CSE配列数式が必要だった

=SEQUENCE(100)