10/28/2019

Excel。Office Insiderの新機能。『スピル』でExcelが激変する!【Spill】

Excel。Office Insiderの新機能。『スピル』でExcelが激変する!

<スピルを使ったVLOOKUP関数>

Office365を使用しているのが条件になるのですが、正式実装される前の様々な機能を先に体験できることができるのが、「Office Insider」です。

登録すると、正式実装前の機能を事前に体験できるのですが、事前ということは、近いうちに実装されるわけですよね。

そのOffice365のExcel。Office Insiderで登場した【スピル】という新機能が、今までのExcelの思考方法を変えてしまう恐れがあります。

とりあえず、新機能のスピルを使ったVLOOKUP関数で紹介していきます。
次の表があります。

B列とD列は、G1:I6の商品リストからVLOOKUP関数を使って検索させます。
E列は、数量と単価を使って算出します。

VLOOKUP関数を勉強する時のお馴染みの表ですね。

通常のVLOOKUP関数を使った数式を、B2につくると、
=VLOOKUP(A2,$G$2:$I$5,2,FALSE)
という数式を設定します。

商品リストのG2:I5は、オートフィルを使って数式をコピーした時に参照がズレないように、絶対参照を設定してあります。

さて、「スピル」を使ったらどのようになるのでしょうか?

B2には、
=VLOOKUP(A2:A4,G2:I5,2,FALSE)
という数式を設定します。

最初の検索値がすでに、変わっていますね。A2:A4と算出したい対象セルを全部選択しています。

さらに、商品リストですが、G2:I5をしています。
先程と比べると何かありませんよね。

そうなんです。

スピルは絶対参照とか不要なんです。
Excelが、「このリストを全部で使うんでしょう?」って察してくれているわけです。

今までだと、オートフィルを使って数式をコピーするとズレるから…絶対参照。

という認識でしたが、不要になりますし、この数式を確定してみると、わかりますが、オートフィルを使って数式をコピー必要もないわけです。

ありゃま。ビックリなスピルです。
同じようにD列の単価も算出しておきます。

E列の金額を算出しますが、ここもスピルで数式がかわります。
E2をクリックして、次の数式を作ります。
=D2#*C2:C4

D2#の「#」は、スピルで算出されている範囲を表します。なお、この「#」のことを、【スピル範囲演算子】というそうです。

そして、C2*C4と算出させたい、範囲を選択して確定させます。

このように、算出することができました。
なお、B3をクリックして、数式バーをみると、数式の文字の色が薄いグレーになっていることがわかります。

オートフィルを使って数式をコピーしたわけではなかったですよね。

これはスピルによって勝手に算出してくれています。
このように、スピルによって勝手に算出されたセルを【ゴースト】って呼ぶそうです。

なので、もし修正したい場合は、B2の数式を直す必要があります。

このB3の数式を削除しようとしても削除できません。また違う値を入力しようとすると、

#SPILL!というエラーが表示されてしまいます。

【データが追加された時が楽】

例えば、データが増えた場合、数式を変更した後、オートフィルを使って数式をコピーしなおしますが、ゴーストの範囲を増やすだけでいいので、B2の数式を次のように修正するだけで、対応することができます。

=VLOOKUP(A2:A4,G2:I5,2,FALSE)

=VLOOKUP(A2:A5,G2:I5,2,FALSE)
と範囲を修正するだけです。

【テーブルでは使えない?】

この表をテーブルに変換するとどうなるのかというと、スピルはテーブルには、対応してないようです。

今後正式実装されるだろう【スピル】。早めに知っていて損はなさそうですね。
このスピル(Spill)は、溢れるという意味なんだそうです。