Introduction
Ver. 2021 365
エクセルでの「スピル」機能の説明です。
この機能は2019年12月、Office365で使えるようになりました。
「スピル」とは、「動的配列数式」の中身が隣接するセルに返された状態です。
その範囲は青い線で囲まれます。
「動的配列数式か・・・。なるほどー」と思った方は、もうこの先を読む必要がありません。
多くの方は、
ん?何を言ってるの?動的配列数式って何?
となったのではないでしょうか。
ここでは、Excelをさわり始めた方には馴染みがないはずの「配列」や「動的配列数式」の言葉をなるべく少なめにして説明していきたいと思います。
この「スピル」機能は最近のバージョンで登場したものです。そのため互換性を考えると自然に利用されるまで時間がかかるでしょう。
あまり難しく考えず、「へー」という感覚で捉えておけば良いかもしれませんよ。
スピっちゃう?
スピルとは
まず、英語の「SPILL」とはどんな意味か確認しましょう。
このような意味があります。
データがこぼれてあふれでるイメージ。
Excelでのスピルとは「流れ出た範囲」のことです。
実際に、Excelで試しながら説明していきます。
まず、「A1」~「A5」まで下のように数字を入力します。
次に、隣の「B1」に
=A1:A5
という式を入れてみます。
ポイントは、「A1」だけを参照するのではなく、「A1:A5」という広い範囲を指定したこと。
すると、結果は下画像のように「A1」セルの「10」が表示されるだけではなく、その下の場所まで自動で数式が展開して表示されました。
この状態を「スピル」と呼びます。
下のイメージ。
ちなみに、以前のExcelでは、今回のように「A1:A5」という広い範囲を指定しても、「A1」の数値が表示されるだけで下のセルは空欄のままでした。
問題は、これが何なのかということですね。
この意味を理解するには、「配列」という言葉を簡単にでも知っておいた方が良いでしょう。
Excelには昔から1つのセルに複数のデータをしまう事ができる「配列」という仕組みが存在しています。
Excelでの「配列」とは、簡単に言うと一つの箱の中に、他の箱を用意することです。
下のようなイメージです。
この「配列」を使用するには、全体の範囲を選択後、先頭セルに計算式を入力してから「Ctrl」+「Shift」+「Enter」を押しながら確定する必要があったのですが、最近のバージョンでは、広いセル範囲を指定すると、自動でこの「配列」が適用されるようになったのです。
今回の場合は、「B1」の数式に下のように数値が格納された感じ。
これが自動的に隣接したセルに滲み出てくる・・・。
実際に数式が入っているのは「B1」だけなのに、その中身があふれて出てきているのです。
この状況がスピル。
もう一度言うと、
スピルとは
「自動で数式の中身が隣接したセルにあふれ出て表示されること」
となります。
スピルの特徴
スピル範囲は、その範囲のどこかをクリックすると、薄い青い線で囲まれます。
また、スピルしたセルを選択すると、元の数式がグレーで表示されます。
このグレーで表示されたセルは「ゴースト」と呼ばれます。
スピルしたセルには、実際には数式は入っていません。
ダブルクリックしてみると、何も入っていないのが分かります。
確かに「ゴースト」という感じですね。
しかし、このスピル範囲、書式を変更したり、
他のセルから参照することはできますよ。
また、下方向へのスピルを例として説明していましたが、横方向へもちゃんとスピルします。
↓
スピルの使用例
では、スピルの使用例を一つ紹介したいと思います。
下の画像をご覧ください。
「D7」セルに入れた式をコピーするだけで結果を表示したい場合、
以前のExcelでは絶対参照や複合参照の知識が必要になります。
完成する式は下のようになります。
=$C$3+$C7+D$6
この式を入れて、表示された計算式を下と右にオートフィル機能を使用してコピーすれば
完成。
ちなみに、
=$C$3+$C7+D$6
の式ですが、「$」記号が複雑に使用されていますね。
列だけを固定したり、行だけを固定するなど複合参照の知識が必要になります。
これが、スピルが使用できることで、下の計算式を入れると、
=C3+C7:C9+D6:F6
自動でスピルされて、結果が表示されます。
計算式をコピーする必要もなく、「行列どっちを固定すれば良いの?」と悩む必要もありませんね。
スピル範囲演算子「#」
最後にスピルで使用する演算子「#」について簡単に紹介しておきます。
「A1#」のようにセル番地の後ろに付けて使用するのですが、
その数式でスピルしている範囲全体を示します。
例えば、下のように「B1」にスピルする式が入力されていた場合、
「D3」に
=SUM(B1#)
と入力すると、
スピル範囲全体が合計されます。
まとめ
最初に書きましたが、「スピル」とは、
「自動で配列数式の中身が隣接したセルにあふれ出て表示されること」
となります。
もう少し柔らかい言葉にすると、
「1つのセルに数式を入れただけで、複数のセルに結果を表示できる機能」
とも言えますね。
今後、様々な状況で活躍するであろうスピル機能ですが、今はまだ積極的に試すほどではない気がします。
理由は、バージョン。
使えるのがOffice365か、Excel2021以降を使用している必要があります。
日本では、まだまだサブスクリプション型のOffice365を積極的に利用する方向を向いていないのではないでしょうか。
買い切り型や、最初にインストールされているものを好む傾向がありますね。
ということは、旧バージョンを使用している現場が多く存在するということ。
あと5年とか10年ぐらい経って、「古いバージョン使っているねー」と言われるのが今の最新バージョンになった頃に大活躍といった感じではないでしょうか。
スピースピーzzz