LEVEL 6 モダンExcelへの扉 中級
Lesson 056

スピル機能について

練習用Excelファイル lesson056-practice.xlsx

練習用ファイルは、パソコンからダウンロードしてください。

スピル機能について

ここから LEVEL 6「モダンExcelへの扉」 に入ります。

これまで学んできた Excel は、いわば「伝統的な Excel」。1つのセルに1つの数式を書いて、必要ならコピーして広げる、というのが基本でした。

ここから紹介するのは、現代の Excel だけが持つ新しい機能群です。Microsoft 365 や Excel 2021 以降で使えるようになった、スピル(Spill) という仕組みが、その入り口になります。

スピル」── 直訳すると「こぼれる」という意味です。何がこぼれるのか、まずは見てもらうのが早いです。


一度に複数のセルを埋める数式

たとえば、こんなシートがあるとします。

:::excel
A1=点数
A2=80
A3=65
A4=92
A5=58
A6=73
:::

ここで、B2 セルに次の数式を入れてみます。

=A2:A6

これまでの感覚なら、「B2 に範囲そのものをセルに入れるってどういうこと?」と戸惑うはずです。実際、古い Excel ではエラーになる書き方でした。

ところが、現代の Excel では、

スピルで複数セルに広がる
スピルで複数セルに広がる

B2 に式を入れただけなのに、B2〜B6 まで自動で値が並びました。これがスピルです。

数式は B2 に書いただけ。でも結果は、5つのセルに こぼれるように広がって いきます。

B3、B4、B5、B6 には数式は入っていません。B2の数式の結果が、勝手に下のセルにあふれて表示されている ── これがスピルの動きです。


スピル範囲とゴースト

スピルで広がった範囲のことを、スピル範囲 と呼びます。

B2(数式の本体)をクリックすると、B2〜B6 が 青い枠で囲まれて表示 されます。これがスピル範囲の目印です。

一方、B3〜B6 のセルをクリックしてみてください。数式バーには、薄いグレーで =A2:A6 と表示されます。これは「ゴースト数式」と呼ばれる表示で、「ここはスピル範囲の一部ですよ」という印です。

実体は B2 にあって、ここには 影として 結果が映っているだけ、というイメージです。直接 B3〜B6 を編集することはできません。

スピル範囲を変えたいときは、本体のセル(B2)を編集 します。

ゴーストセル
ゴーストセル


スピル範囲を参照する「#」

スピル範囲全体を、別の数式から参照したいときがあります。そのときに使うのが、「#(シャープ)」 という記号です。

たとえば、B2 から広がっているスピル範囲を合計したいとき、

=SUM(B2#)

B2# と書くと、「B2 から広がるスピル範囲、全部」を意味します。

B2#の参照方法
B2#の参照方法

いったいどういう意味があるんだろう? A列をそのまま参照すればいいじゃないか? と思うかもしれません。

ただ、データをバケツリレーのように「Raw → 一次加工 → 二次加工」のように扱うときもあります。そのとき、スピル範囲を取得するというテクニックは、数式を作成するときにも役に立つときがくるはずです。

スピルの基本として覚えておいてください。


スピルできないとき:#SPILL! エラー

スピルの結果が広がろうとした先のセルに、他の値が入っていた 場合。Excel は「こぼれられない」と判断して、#SPILL! エラーを返します。

#SPILL!エラーの例
#SPILL!エラーの例

B5 に「邪魔なデータ」という文字が入っているせいで、スピルが完了できません。

これは「スピル先のセルを空けてください」というメッセージ。邪魔しているセルを消すか、スピルの開始位置を変えるか、で解決します。

スピル先のセルが何で塞がれているかは、数式バーをクリックすると 点線の枠 で示してくれます。これを目印に、片付けてください。

点線の枠
点線の枠


配列とスピル

ここで少しだけ用語の話をします。

スピルの正体は、Excel が 配列(複数の値のまとまり) を返す機能です。「配列」というと身構えてしまうかもしれませんが、要するに「1つではなく、複数の値が並んだもの」と考えてください。

古い Excel でも配列を扱う仕組みはあったのですが、Ctrl + Shift + Enter を押す必要があったり、扱いが特殊でした。

最頻値を複数出力する「MODE.MULT関数」、度数分布表を作成するときに使う「FREQUENCY関数」、行列を転置して出力する「TRANSPOSE関数」など、{}でくくる特殊な数式を使っていました。

スピルは、その配列を 普通の Enter だけで、自然にセルに広げてくれる 機能です。配列という概念を、誰でも使えるレベルに引き下げた、これがモダン Excel の革命でした。

※ 裏事情をお話しすると、Googleスプレッドシートで登場し、それを Excel が追ったという経緯があります。


なぜスピルが革命なのか

スピルが使えるようになったことで、Excel の使い方そのものが変わりました。

これまで:「数式を書いてコピーする」が基本動作

これから:「1つの数式が、必要な範囲に勝手に広がる

これだけ聞くと小さな違いに思えますが、関数の世界に与えた影響は大きいです。次回から学ぶ UNIQUE関数(重複を除く)、SORT関数(並び替え)、FILTER関数(絞り込み)は、すべて スピル前提で設計された関数 です。

これらは、スピルがあって初めて、その真価を発揮します。

XLOOKUP も、スピルと組み合わせると 一気に複数列の値を取り出せる ようになります。これも後のレッスンで扱います。


まとめ

  • スピル(Spill) は、数式の結果が 複数セルにこぼれて広がる 機能
  • 数式は本体のセル(左上)にだけ書く。残りはゴースト
  • スピル範囲を参照するには セル番地# という書き方
  • スピル先に他の値があると #SPILL! エラー
  • 配列(複数の値のまとまり)を、普通の Enter で扱える革命機能
  • これ以降の UNIQUE / SORT / FILTER は、スピル前提の関数

次回からは、このスピルを使った 新世代の関数たち に入っていきます。まずは UNIQUE関数(重複を取り除く)から。


ショートカット

※このレッスンに対応するショートカットはありません。

次のLessonへ Lesson 057 UNIQUE関数について