スピル機能とは
スピル機能とは1つのセルに数式を入力すると、その数式が隣接したセルに自動反映される機能となります。
今までは隣接した行や列に数式を反映したい場合はオートフィルを使って反映させていたところを、このスピル機能を使えば自動反映してくれるのでオートフィルの必要がなくなって、とても便利です!
スピル機能の基本の動きと使い方をご紹介していきますので、ぜひこの機会にマスターしておきましょう。
練習用ファイルを用意しましたので、必要な方は下記ボタンよりダウンロードしてください。
基本の動き
データ範囲を反映
既にあるデータ範囲を、元のデータはそのままで別の場所に反映したい場合、「=セル番地」として列と行にオートフィルで反映させたり、すると思います。
これをスピル機能でやってみます。
練習用ファイルを使って、スピル機能の基本の動きを一緒にやってみましょう!
まずは分かりやすく、A1セル~C6セルのデータをE1セルから始まる範囲に反映させます。
E1セルに = を入れたらA1から始まるデータ範囲を全て選択します。

あとは Enter を押せば完了です。


メチャメチャ簡単です 笑
E1セルから始まるスピルで反映された範囲をどこでも良いのでどこかをクリックしてみましょう。
すると、周囲が青く囲まれていて、少し浮いているように見えます。
これを「スピル領域」と言って、この部分はスピルで反映されていることを意味しています。

また、数式バーを見てみると数式を入力したE1セルはフォントが黒ですが、E2セル以外のセルを選択して数式バーを見ると、数式のフォントはグレーアウトされた状態になっているのが分かります。
このグレーアウトされている部分を「ゴースト」と言い、スピルで反映されている数式を意味します。


このゴースト部分の数式は変更できません。
変更したい場合は、最初に入力したE1セルの数式を変更する必要があります。
仮に何か入力してしまうと、「#スピル!」エラーが出ます。


直接入力した値を削除すると
またスピル領域にスピル結果が表示されます。
四則演算で使用(スピル範囲演算子)
スピル機能の動きが分かったところで、四則演算でのスピル機能の使い方を緒にやってみましょう。
基本的には使い方は同じなので、合計と掛け算の2つを一緒にやってみたいと思います。
合計
このシートでは3か月ごと、商品別の売上小計を出し、最後に総合計を計算するフォーマットになっています。
これをスピル機能を使って、より簡単に算出していきます。
まず最初の3か月の小計を出してみましょう。
E2セルに「=B2:B7+C2:C7+D2:D7」と入力し Enter キーを押します。

スピル機能が働いて、E3セル以降にも同じように計算結果が反映されました。

あとはE2セルの数式を、I2セル、M2セル、Q2セルにコピペして、全ての小計列に計算結果を反映させます。

最後に総合計を算出しますが、それぞれ小計列はスピル機能を使って算出しているので「スピル範囲演算子」という方法で計算式を簡素化することが可能です。
合計算出するR2セルに = を入れ、最初の小計列の一番上の行になるE2と入力した後に # を入力します。
するとE2セルから始まるスピル領域が全て選択されているのが分かります。

このまま + を打って次のスピル領域であるI2を入力後また # を入力というように、Q2まで繰り返します。

最後に Enter を押せばR列の合計にもスピル機能が働いて、最終行まで計算結果が反映されました。

=スピル開始セル1#+スピル開始セル2#+スピル開始セル3#+スピル開始セル4#
=E2#+I2#+M2#+Q2#
合計を算出した表の右、T列に全体平均を出す項目がありま。
せっかくなので、ここにスピル範囲演算子を使用したAVERAGE関数を入れていきます。
T2セルに = を入力しAVERAGEを使用関数として確定させます。

AVERAGE関数の第1引数に、合計のスピル領域の最初の行であるR2セルを選択し、最後に # を入れます。
するとR列のスピル領域が全て選択されていることが分かります。

あとは Enter を押せば完了です。

=AVERAGE(スピル開始セル#)
=AVERAGE(R2#)
掛け算
次に掛け算をやってみましょう。
よくある100マス計算形式の表があります。
ここに掛け算を入力する場合、B2セルに絶対参照を使用した計算式を入力後に行と列をオートフィルして反映させると思いますが、スピル機能を使えば、絶対参照せず1セル数式を入力するだけでOKです。
さっそくやってみましょう!
B2セルに = を入れたら、最初の範囲となるA2セル~A10セルを範囲選択します。

今回は掛け算なので * を入力したら、次の範囲となるB1セル~J1セルを範囲選択します。

最後に Enter を押せばすべてのセルに結果が反映されます。

関数で使用する
スピル機能に対応している関数であれば、同じようにスピル機能にて結果を拡張反映してくれます。
全ての関数に対応しているわけではないので、スピル機能に対応している関数から使用頻度の高そうなものを下記に記載しておきます。

リンクのない関数は、準備中です。
動画だけ準備のあるものは、末尾に動画を貼っておきます!
スピル機能に対応している関数の中でも、スピル機能を使用する場合と使用しない場合で、関数の引数使用方法が異なる場合があります。
ここでは、スピル機能に対応している場合と対応していない場合で、引数の使用方法が異なる例としてVLOOKUP関数を一緒にやってみましょう。
ここではVLOOKUP関数を使って、C列にF列の商品番号を入れていくフォーマットになっています。

スピル機能を使用しない場合の使い方は
VLOOKUP関数の記事をご確認ください
ここではスピル機能を使ってVLOOKUP関数を入力してみましょう。
まずC2セルに = を入れてVLOOKUP関数を入力し Tab キーで使用関数を確定させます。

次にVLOOKUP関数の第1引数を入力ます。
スピル機能を使用する場合の第1引数は、検索値が入っている範囲を全て選択します。

第1引数を入力したら、カンマ , を打って第2引数に進みます。
第2引数は第1引数で指定した値を検索しに行く範囲なので、ここではF2~G7セルを選択しますが、絶対参照は不要です。

あとはスピル機能を使用しない場合と同じなので、第2引数の後にカンマ , を打ったら第3引数を2列目の「2」と入れてカンマ , を打ち、第4引数に完全一致の「0」を入力後に Enter を押せば完了です。

スピルを無効にする
スピル機能は1つのセルに数式を入れれば、自動的に結果が拡張反映されるのでとても便利ですが、状況によっては自動で拡張反映してほしくない場合もあります。
ここでは、数式を入れても自動でスピル機能が動作しないようにする方法を一緒にやってみましょう。
数式を入れた際に、スピル機能を無効にしたい場合、2つの方法があります。
Ctrl + Shift + Enterで終了
数式を入力し、最後に Ctrl + Shift + Enter を一緒に押す。

すると自動で数式が波カッコ {}で挟まれ、スピル機能が無効になります。


本来、波カッコ{}は配列数式となりますが
ここで通常の数式として機能してくれます。
数式の前に@マークを入力
数式を入れる際に = を入れた後に @ を入力してから数式を入力します。

後は何も変わらないので、最後まで数式を入力したら Enter を押して完了です。


数式内に @ が入っていますが
問題なく通常の数式として機能しています
まとめ
スピル機能はとても便利な機能で、他にも対応している関数と一緒に使用することで、さらに自由度が高くなりますので、より効率よく使いこなせるようになるためにも、まずは基本の使い方をマスターしておきましょう!
スピル機能に対応している関数のうち、動画だけ準備がある関数の動画も一緒に貼っておきますので、記事ができるまでは動画を参考にしていただけたらと思います。
動画でもご紹介していますので、動画を見ながら操作を確認したい方は下記からどうぞ!

励みになります!高評価とチャンネル登録よろしくおねがいいたします