更新日:2024.05.21
目次
Microsoft365とExcel2021(※)に新機能として実装された「スピル」をご存じでしょうか?
スピルは、"数式を入力したセルだけでなく、隣接するセルにも結果が表示される"というこれまでのExcelの常識を覆す革新的な機能です。
当記事では、スピル機能の使い方やポイントを丁寧にご説明していきます。
監修:みずき さん
EXCEL女子の研修講師をしています。Excel研修では「覚える」だけではなく「理解する」ことで、自身の力としてExcelスキルを身につけられる研修を実施しています。研修をするたびにExcelが大好きになり、Excelってすごい!と実感しています。Excelの他には写真が好きで食べ物や風景を撮影しています!
まず、スピル(spil)は「こぼれる」「あふれる」という意味です。
従来では、配列数式(※)を利用した場合を除いて、数式を入れた一つのセルに対して一つの結果が表示されるのが常識でした。
ですがスピルは数式を入力したセルだけでなく、隣接するセルにも結果が表示されます。このようなこぼれる、あふれるような挙動にちなんでスピルと呼ばれています。
では早速スピルの基本機能をみていきましょう。
まず、セル範囲【B2:B5】に入力された値を【C2:C5】にも表示させたい場合に、セル【C2】の数式バーに「=B2:B5」と入力します。
Enterを押すと、このようにセル範囲【B2:B5】の値が全て表示されます。
数式を入力したのはセル【C2】(=動的配列数式)のみですが、セル【C5】まで結果がこぼれて出力されました。これが「スピル」です。
また、このこぼれて出力されたセル【C3】を見てみると、数式バーの表記が薄くなっているのがわかります。これを、「ゴースト」と言います。ゴーストは、単体で削除することができません
そして、スピル表示させようとした範囲に何か値が入力されていると、エラーが生じて「#スピル!」と表示されます。セルの範囲が空白でなければ、スピルエラーとなりますので事前に確認しましょう。
※Excelon-lineでは「#スピル」と表示され、その他では「#SPILL!]と表示されます。
さらに、スピルによってこぼれた数値を関数を使って参照する場合、スピル範囲演算子「#」を使用すると、スピル範囲全体を参照することができます。
従来は、絶対参照やオートフィルなど使用する必要がありましたがその必要はありません。
以下の様にC列にスピルで入力されたデータを、SUM関数で合計する場合、SUM関数の引数としてセル【C2】を選択し、その後ろに「#」をつければ簡単に【C2】からスピル範囲の最終セルである【C5】セルの範囲の合計を求める事ができます。
以上の基本知識を踏まえた上で、さっそくスピルを使用してみましょう!
従来の掛け算の九九の表を作成する際、セルに相対参照を利用して数式を入力後、表の範囲に数式をコピーして作成していました。
ですがスピル機能を使えば相対参照やセルのコピーをしなくても、セル【C3】に数式を入力するだけで、一瞬で表を完成させることができます。
手順に沿ってスピル機能を使用して掛け算の九九の表を作成してみましょう。
(1)掛け算九九の表の枠を作成する
(2)セル【C3】の数式バーに「=C2:K2*B3:B11」と入力する
(3)Enterキーを押す
数式を確定すると、表内に掛け算のデータが一瞬で表示されました。
相対参照も使用することなく、簡単にそして正確に作成ができます。 セル【C3】にセル【K11】までの計算に必要な範囲を入力することで、数式の結果がこぼれたように「スピル」として表示されます。
関数の引数に、スピル機能を利用することも可能です。新関数のXLOOKUP関数でスピルを使用し表を作成してみましょう。
XLOOKUP関数の数式は下記の通りです。
=XLOOKUP(検索値,検索範囲,戻り範囲,[見つからない場合],[一致モード],[検索モード])
範囲または列ごとに情報を検索し、該当するデータを取り出す関数です。6つの引数のうち、検索値、検索範囲、戻り範囲の3つは必須、[見つからない場合]、[一致モード]、[検索モード]の3つは省略可能な引数です。
こちらは、取引先リストの表です。
セル【C2】に入力された社名「B社」に当てはまる情報全てを4行目に出力します
(1)セル【C4】に「=XLOOKUP(C2,E6:E16,B6:J16)」と入力する
これは、セル【C2】に入力された社名と同じデータをセル範囲【E6:E16】から探し、その社名のB列からJ列の情報を表示してください。という意味です。
(2)Enterキーを押す。
B列からJ列のデータが配列として取り出されるので、名前から売上までのデータが、数式1つでスピルとして表示されました。
次に、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スキルの底上げをしたいなどお悩みでしたら、ぜひお気軽にお問い合わせください。