コラム ~ 業務効率化・業務自動化についての最新情報、用語、ノウハウなど ~

【図解付き】Excel「スピル (Spill)」機能とは?XLOOKUPとの組み合わせまで徹底解説!

作成者: Admin|Apr 7, 2022 1:00:00 AM

スピルは、"数式を入力したセルだけでなく、隣接するセルにも結果が表示される"というこれまでのExcelの常識を覆す革新的な機能です。

当記事では、スピル機能の使い方やポイントを丁寧にご説明していきます。

DX/Office活用トレーナー 本多 瑞季(ほんだ みずき)
現場の業務フローを起点に、Excel・Copilot・Power Automateを“使いこなせる状態”まで伴走するトレーナー。操作説明にとどまらず、部署や役割に合わせた課題設計で、研修翌日から成果を出せるよう設計します。
※DX人財育成サービスの公式サイト

 

 

 

 

 

 


Microsoft Excelにおける「スピル(Spill)」機能は、通常版では Microsoft 365、Excel 2021 およびそれ以降のバージョンで利用可能 です。

スピル機能とは?

まず、スピル(spil)は「こぼれる」「あふれる」という意味です。従来では、配列数式(※)を利用した場合を除いて、数式を入れた一つのセルに対して一つの結果が表示されるのが常識でした。

ですがスピルは数式を入力したセルだけでなく、隣接するセルにも結果が表示されます。
このようなこぼれる、あふれるような挙動にちなんでスピルと呼ばれています。

基本機能

では早速スピルの基本機能をみていきましょう。

まず、セル範囲【B2:B5】に入力された値を【C2:C5】にも表示させたい場合に、セル【C2】の数式バーに「=B2:B5」と入力します。


Enterを押すと、このようにセル範囲【B2:B5】の値が全て表示されます。


数式を入力したのはセル【C2】(=動的配列数式)のみですが、セル【C5】まで結果がこぼれて出力されました。これが「スピル」です。

ゴースト

また、このこぼれて出力されたセル【C3】を見てみると、数式バーの表記が薄くなっているのがわかります。
これを、「ゴースト」と言います。ゴーストは、単体で削除することができません

エラー

そして、スピル表示させようとした範囲に何か値が入力されていると、エラーが生じて「#スピル!」と表示されます。セルの範囲が空白でなければ、スピルエラーとなりますので事前に確認しましょう。

※Excelon-lineでは「#スピル」と表示され、その他では「#SPILL!]と表示されます。

スピル範囲演算子「#」

さらに、スピルによってこぼれた数値を関数を使って参照する場合、スピル範囲演算子「#」を使用すると、スピル範囲全体を参照することができます。
従来は、絶対参照やオートフィルなど使用する必要がありましたがその必要はありません。

以下の様にC列にスピルで入力されたデータを、SUM関数で合計する場合、SUM関数の引数としてセル【C2】を選択し、その後ろに「#」をつければ簡単に【C2】からスピル範囲の最終セルである【C5】セルの範囲の合計を求める事ができます。


以上の基本知識を踏まえた上で、さっそくスピルを使用してみましょう!

<基本編>掛け算九九の票を作ってみよう

従来の掛け算の九九の表を作成する際、セルに相対参照を利用して数式を入力後、表の範囲に数式をコピーして作成していました。


ですがスピル機能を使えば相対参照やセルのコピーをしなくても、セル【C3】に数式を入力するだけで、一瞬で表を完成させることができます。
手順に沿ってスピル機能を使用して掛け算の九九の表を作成してみましょう。

↑ 記事TOP

掛け算の九九の表の作成方法

操作方法

(1)掛け算九九の表の枠を作成する


(2)セル【C3】の数式バーに「=C2:K2*B3:B11」と入力する


(3)Enterキーを押す
数式を確定すると、表内に掛け算のデータが一瞬で表示されました。



相対参照も使用することなく、簡単にそして正確に作成ができます。 セル【C3】にセル【K11】までの計算に必要な範囲を入力することで、数式の結果がこぼれたように「スピル」として表示されます。

<応用編>XLOOKUP関数でスピル機能を使おう

関数の引数に、スピル機能を利用することも可能です。
新関数のXLOOKUP関数でスピルを使用し表を作成してみましょう。XLOOKUP関数の数式は下記の通りです。

6つの引数のうち、検索値、検索範囲、戻り範囲の3つは必須、[見つからない場合]、[一致モード]、[検索モード]の3つは省略可能な引数です。

それではさっそく表を作成していきましょう。

XLOOKUP関数で「戻り範囲」にスピルを利用する

こちらは、取引先リストの表です。
セル【C2】に入力された社名「B社」に当てはまる情報全てを4行目に出力します

操作方法

(1)セル【C4】に「=XLOOKUP(C2,E6:E16,B6:J16)」と入力する
これは、セル【C2】に入力された社名と同じデータをセル範囲【E6:E16】から探し、その社名のB列からJ列の情報を表示してください。という意味です。


(2)Enterキーを押す。

B列からJ列のデータが配列として取り出されるので、名前から売上までのデータが、数式1つでスピルとして表示されました。

XLOOKUP関数で「検索値」にスピルを利用する

次に、L列に入力された名前のメールアドレスを表示してみましょう。

操作方法

(1)セル【M3】に「=XLOOKUP(L3:L6,B3:B13,D3:D13)」と入力する
セル範囲【L3:L6】に入力された名前と同じ情報をセル範囲【B3:B13】から探し、その名前の情報に該当するメールアドレスをセル範囲【D3:D13】から抽出して、表示してください。という意味です。


(2)Enterキーを押す。
L列に入力された4名分のメールアドレスがM列にスピルで表示されました。


XLOOKUP関数の場合は縦横にスピルさせることができるため、より効率的にデータを出力させることができます。

まとめ

「スピル」は、縦横のデータを掛け合わせた配列を効率よく、わかりやすい式で作成できることが大きなメリットです。入力した数式を他のセルへコピーする少しの手間を省くことができるため、Excelの使い方が劇的に変化しますので、スピルを活用して効率的にExcelの作業速度をアップしていきましょう。

当社では、『Microsoft認定トレーナー』資格を持つEXCEL女子による「Excel研修」を提供しております。書籍化するなど注目いただいている研修です。

社員教育に時間を割けない、Excelスキルの底上げをしたいなどお悩みでしたら、ぜひお気軽にお問い合わせください。