【エクセル時短】は「少しでも早く仕事を終わらせたい!」というビジネスパーソンのみなさんに、Excelの作業効率をアップするワザをお届けする連載です。
数式の結果が「こぼれる」ように表示される
みなさんはExcelの新機能「スピル」を知っていますか?
新機能といっても、スピルはExcel 2019で追加された機能なので、最先端で新しいというわけではありません。現在の最新バージョンであるExcel 2021と、Microsoft 365のExcelでも利用できます。
よって、すでに多くの人がスピルを利用できる環境でExcelを使っているのですが、「そんな機能どこにあるの?」と、意識したことがない人がほとんどでしょう。それもそのはず、スピルはボタンをクリックして使うような、目立つ機能ではないからです。
スピルがどのような機能なのか、まずは以下の画面を見てください。
セルA1~A5には「1」から「5」の数値、セルB1~B5には「11」から「15」の数値が入力されています。そして、セルC1に「=A1:A5*B1:B5」という、それぞれの行で掛け算を行う数式を入力しました。これまでの常識でいうと間違っているように見えますが、そのまま[Enter]キーを押してみましょう。
セルC1~C5に、正しい掛け算の結果がまとめて表示されました。
このような数式の動作を可能にする機能が、スピルです。
スピル(spill)は直訳すると、「こぼれる」「あふれる」といった意味になります。上記の例でいうと、セルC1に入力した数式の結果がセルC1だけでなく、その下のセルC2~C5にも「こぼれる」ように表示された、というわけです。
Microsoftの公式ヘルプでは、スピルについて「複数の値を返す数式は隣接するセルに結果を返す」と説明されています。スピルの基本を理解したところで、ここからは4つの活用例と注意点を見ていきましょう。
スピルの結果を計算に利用する
まずは活用例1として、スピルを利用して求めた結果を、別の計算で利用する方法を紹介します。以下の例では、先ほどの例と同様に、表内の「単価」と「数量」を掛けて「金額」を求めています。セルC2に入力した数式は「=A2:A4*B2:B4」です。
この表に、さらに「消費税」を追加して計算したい場合、どうしたらいいでしょう?
従来であれば「=C2*0.1」という数式で求めますが、ここでは「金額」というスピルの結果を利用するため、「=C2#*0.1」という記述方法で数式を入力します。「#」はスピルの結果を表す記号で、「=C2#」は「セルC2~C4に表示されたスピルの結果」という意味になります。
1スピルの結果を利用する
セルD2に「=C2#」と入力すると、スピルの結果(セルC2~C4)が自動的に参照されます。
2数式を完成する
続けて「*0.1」と入力して[Enter]キーを押します。
3スピルが表示された
スピルの結果がまとめて表示されました。
スピルを演算子で利用する
活用例2は、文字列の連結に利用する演算子である「&」と、スピルを組み合わせる方法です。前述の数式も同様ですが、フィルハンドルをドラッグしてコピーするような数式では、スピルを利用できることが多くなっています。
セルC2に「=B2:B11&"様"」と入力した例です。文字列を連結した結果が、セルC2より下のセルにも表示されています。
結果がスピルで表示される新関数を利用する
活用例3は、Excel 2019以降に追加された新関数でスピルを使う方法です。これらの関数には結果がスピルで表示されるものがあり、VLOOKUP関数の後継であるXLOOKUP関数が代表例といえます。XLOOKUP関数の結果は、以下の画面のように右方向(列方向)へスピルで表示されます。
XLOOKUP関数などの新関数では、結果がスピルで表示されます。
結果がスピルで表示される新関数
- XLOOKUP関数
- FILTER関数
- RANDARRAY関数
- SEQUENCE関数
- SORT関数
- SORTBY関数
- UNIQUE関数
- XLOOKUP関数
- XMATCH関数
従来の関数でスピルを利用する
活用例4は、従来からある関数の引数にセル範囲を指定することで、スピルを利用する方法です。業務においてポピュラーなVLOOKUP関数でも、スピルを利用できます。
以下の例では、VLOOKUP関数の1つ目の引数[検索値]にセル範囲(B2:B19)を指定することで、結果をスピルで表示しています。
セルC2に「=VLOOKUP(B2:B19,I2:L10,2,FALSE)」と入力しました。1つめの引数[検索値]に「B2:B19」と指定することで、結果がスピルで表示されます。
スピルが使えるExcelのバージョンであれば、もれなくXLOOKUP関数も利用できるのですが、慣れているVLOOKUP関数を使いたいこともあるでしょう。VLOOKUP関数でスピルを利用した場合、セル参照がずれないように絶対参照で指定する手間が省けるというメリットもあります。
スピルを利用するうえでの注意点
最後に、スピルの注意点を見ておきましょう。数式が入力されていない、スピルによって結果が表示されているセルを選択して数式バーを確認すると、以下のようにグレーで表示されていることが分かります。
数式が入力されている、セルC1を選択したときの数式バーの文字色は黒です。
数式が入力されておらず、スピルで結果が表示されたセルC2を選択したときの数式バーの文字色はグレーです。
スピルの結果は「動的配列」または「ゴースト」と呼ばれ、数式がグレーで表示されるセル範囲は編集できないことを覚えておきましょう。それらのセルに表示されている結果を変更したいときは、スピルのもとになる数式があるセルを編集します。
なお、スピルの結果はコピーして値として貼り付けることで、実体のあるデータとして扱えるようになります。
加えて、スピルの登場によって追加されたエラー値「#SPILL!」も覚えておきましょう。スピルの結果が表示されたセルにデータを入力すると、このエラーが表示されます。
スピルの結果に手動でデータを上書きすると、もとの数式があるセルに「#SPILL!」エラーが表示されます。
以上、スピルの基本と4つの活用例、注意点について紹介しました。理解できると、簡単で便利な機能だと思いませんか? 今後利用することを踏まえて、動作に慣れておくことをおすすめします。