Excel

新しいExcelの一番の変更点は「スピル」?

新しいExcelの性能についてのリリースがあり、ネットでは、VLOOKUP関数が高速になった、AI搭載されたなどのトピックで賑わっています。
でも、実は、表計算の従来の概念を覆すかもしれない、「スピル」という考え方が導入されています。
これはもしかしたら今回のアップデートの一番のインパクトかもしれません。
もしかしたらVBAで作成したプログラムにも影響が出るかもしれません。
そこで、このスピルという新機能について、OfficeInsiderのExcelでいろいろ試してみましたので、その結果を書きます。

従来のExcel

今までのExcelでは、いくつかのセルや値を組み合わせた計算式の結果は、1つのセルにしか出ませんでした。
つまり、多入力、単出力という、昔からのコンピュータの原則に沿っていました。

スピル

スピルとは、簡単に言うと、多入力、多出力です。
ひとつの計算式で、複数のセル範囲に出力できます。
image.png
これは、新しいExcelで、はじめにA1からB3の範囲に値が入っている状態で、セルD1に「=A1:B3」という計算式を入力しただけのものです。
お気づきの通り、セルD1からE3までにも値が入っています。
これをスピルと呼び、私としては新しいExcelの一番の変更点と考えています。

様々なスピルの例

スピルの計算式の形態は様々です。

image.png
このようにすべての値に10をかけることもできます。

image.png
このように複数列のものに1列の範囲をかけることもできます。

image.png
このように配列をかけることもできます。

image.png
このように外側に関数をつけることもできます。

image.png
このようなVLOOKUP関数の使いかたもできます。

image.png

今までは絶対参照、相対参照、複合参照を組み合わせなければならなかった表も、全く苦労せず出せます。

スピルの動作

image.png
スピルされたデータに何か書き込まれると計算式を入力したセルに#SPILL!というエラーが発生し、他のデータは消えます。
しかし、書き込んでしまったデータを消せば、スピルは復活します。

image.png
スピルのデータは、計算式が入力されているセルの番地に#がつくだけでスピル範囲全体を表すので、このようなこともできます。

image.png
範囲を出力するため、単独では使えなかったOFFSET関数も単独で使えます。

image.png
INDIRECT関数も同様です。

image.png
このように関数の中に関数を入れてスピルすることもできます。

まとめ

新しいExcelの概念、スピルについて例を挙げて解説しました。
これがいいものなのかどうなのかは現時点で判断できませんが、数式を作成した後にコピーしなくて済むようになったことで、ほんの少しですが、作業時間の短縮にはなっています。
基本情報処理のExcel問題どうなるんだろうかとか、心配もありますが、それよりも従来のExcelシートに影響があるかもしれません。
基本的に範囲で作成した計算式はエラーになっているはずですので、そのようなエラーが回避されていれば問題はないと思います。
もしも、どこかに#SPILL!エラーや、一部#CALCエラーも出るようですので、そのような場合は正常化していきましょう。
もちろんですが、最新版のExcel以外ではスピルはできないので、古いバージョンのExcelで使う場合はスピルを使わないようにしましょう。
と言っても、マイクロソフトさま的にはスピル推奨のようです。従来、スピルと同じような計算式として、配列数式がありましたが、配列数式は非推奨となりました。
新関数としてスピルを使った関数も用意されていますので、あるものは有効に活用していきたいと思います。