スピル(動的配列)機能とは?どのバージョンで使える?
結論
スピルは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 2016 | Excel 2019 | Excel 2021 | Excel 2024 | Microsoft 365 |
|---|---|---|---|---|
| 非対応 | 非対応 | 対応 | 対応 | 対応 |
実務での使用例
1つの数式で連番を生成
=SEQUENCE(100) と入力するだけで1〜100の連番が100行に展開される。従来は100行に1つずつ数式を入れるか、CSE配列数式が必要だった
=SEQUENCE(100)