Excel Formulas Academy · レッスン

スピルの意味

1つの数式で複数のセルに配列を出力する仕組みを理解します。

レッスン 1/413 ステップ

「スピルの意味」はCoddyKit上の無料Excel Formulas Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはExcel Formulas Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Excel Formulas Academyコースには全4レッスンが含まれています。

1つの数式で複数の答えを返す

これまで作成した数式の多くは、1つのセルに1つの値を返していました。動的配列を使うと、この仕組みが変わります。1つの数式でリスト全体や表形式の結果を返すことができ、スプレッドシートが各結果をそれぞれのセルに自動配置します。

この自動配置はスピルと呼ばれます。数式を一度入力してEnterキーを押すと、トレイに水を注ぐように、結果が周囲のセルへ流れ出します。

最初のスピルの例

A1:A5に1から5までの数値が入っているとします。セルC1に=A1:A5*10と入力してEnterキーを押します。

1つの結果ではなく、10、20、30、40、50の5つの結果がC1:C5に縦に並びます。数式を入力したのはC1だけですが、結果は自動的にその下のセルへスピルします。

=A1:A5*10

スピル範囲

数式が値を埋めるセルの範囲をスピル範囲と呼びます。実際に数式が入っているのは、アンカーと呼ばれる左上のセルだけです。ほかのセルは自動的に埋められ、アンカーを選択すると薄い青色の枠が表示されます。

スピルしたセルを直接編集することはできません。編集しようとするとエラーになります。出力を変更するには、アンカーセルの数式を編集します。

#演算子でスピルを参照する

スピル範囲は拡大または縮小する可能性があるため、結果全体をスピル演算子で参照します。これはアンカーのアドレスの後ろにハッシュ記号を付ける方法です。

C1の数式がC5までスピルする場合、C1#はスピル範囲全体を意味します。=SUM(C1#)のように別の場所で使えば、後からスピル範囲が拡大しても、常にすべてのスピル値が合計に含まれます。

=SUM(C1#)

スピルは自動的に更新される

スピルの本当の強みは、動的であることです。元の範囲に新しい数値を追加すると、スピル範囲はそれを含むように自動的に拡大します。値を削除すれば、スピル範囲は縮小します。

数式を下方向へコピーする必要はもうありません。1つのアンカー数式が、読み取るデータに合わせて出力のサイズを調整します。

スピルする関数

多くの最新の関数は配列を返すように設計されているため、スピルします。

  • FILTERは一致する行を返します。
  • UNIQUEは重複のないリストを返します。
  • SORTとSORTBYは範囲の順序を並べ替えます。
  • SEQUENCEは数値のリストを生成します。

このコースではFILTERとUNIQUEを学びます。どちらも1つの数式から複数の結果を出力します。

UNIQUEのスピルを実際に使う

列Aに地域名としてEast、West、East、North、Westが並んでいるとします。重複のない地域名のリストを作るには、数式を1つ入力します。

=UNIQUE(A2:A6)

East、West、Northの3つの結果がスピルします。元の範囲に別の地域を追加すると、スピルしたリストも自動的に拡大します。1つの数式で、常に最新のリストを作成できます。

=UNIQUE(A2:A6)

列方向にもスピルする

スピルは下方向だけに限られません。数式は列方向にスピルしたり、2次元の表全体を埋めたりすることもできます。

たとえば=SEQUENCE(3,4)は、縦3行、横4列の範囲にスピルし、1から12までの数値で12個のセルを埋めます。方向と形状は、数式が生成する配列によって完全に決まります。

=SEQUENCE(3,4)

動的配列を利用できる環境

動的配列とスピルは、Excel for Microsoft 365およびExcel 2021以降で利用できます。Google Sheetsも、長年にわたって配列のスピルをサポートしています。

Excel 2016や2019などの古いバージョンではスピルしません。その場合、配列数式はCtrl+Shift+Enterで確定する必要があり、自動的に拡大することもできません。数式がスピルしない場合は、まず使用しているバージョンを確認してください。

数式を下方向へコピーしない

動的配列が登場する前は、1つのセルに=B2*C2と入力し、何百行も下へドラッグしていました。スピルを使えば、一度入力するだけで済みます。

=B2:B100*C2:C100という数式は、範囲全体に行ごとの結果を1つずつスピルします。読む対象や修正対象が、同期がずれる可能性のある何百ものコピーではなく1つの数式だけになるため、保守が簡単になります。

=B2:B100*C2:C100

スピルの考え方

スピルする数式を、1つの数値だけでなく、データの形状を出力する小さなプログラムだと考えてみましょう。スプレッドシートは、その形状をアンカーセルから始まるグリッド上に配置します。

必要なのは、その形状を配置できる空きスペースを確保することです。次のレッスンでは、FILTERとUNIQUEを使って役立つ形状を作る方法と、配置先がふさがっている場合の対処方法を学びます。

理解度チェック

スピルの仕組みを理解できているか確認しましょう。

まとめ:スピルの意味

動的配列の数式は複数の結果を返すことができ、スプレッドシートはそれらをスピル範囲に自動的に配置することを学びました。

  • 数式を保持するのはアンカーセルだけです。
  • C1#のように#演算子を使ってスピル範囲全体を参照します。
  • スピル範囲は元のデータに合わせて自動的に拡大・縮小します。
  • FILTER、UNIQUE、SORT、SEQUENCEなどの関数はすべてスピルします。

次はFILTERを使って、必要な行だけを返す方法を学びます。

無料で開始

AI チューターと学ぶ Excel — 無料

ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。

コース
30
レッスン
120

よくある質問

「スピルの意味」レッスンは無料ですか?

はい。「スピルの意味」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Excel Formulas Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Excel Formulas Academyコースには全4レッスンが含まれています。

「スピルの意味」で何を学びますか?

1つの数式で複数のセルに配列を出力する仕組みを理解します。 ブラウザで直接実行するハンズオンコードでExcel Formulas Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Excel Formulas Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのExcel Formulas Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。

「スピルの意味」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このExcel Formulas Academyレッスンでコードを書いて実行できますか?

はい。すべてのExcel Formulas Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. スピルの意味
  2. FILTERでデータを絞り込む
  3. UNIQUEで重複を削除する
  4. SPILLエラーへの対処
← Excel Formulas Academyに戻る