Excelでいうと「スピル」にあたるものが、スプレッドシートにも搭載されていることをご存じですか?
そもそも所感ですが「スピル」の存在を知らない方もわりといらっしゃる印象なので、まとめてご紹介いたします!
Arrayformula関数とは?
ArrayFormula関数は、Googleスプレッドシートだけで使用できる特別な関数の一つです。通常のスプレッドシート関数がセルごとに計算を行うのに対して、ArrayFormula関数は範囲全体に対して一括して計算を行うためのものです。
通常、スプレッドシート関数は1つのセルに適用され、その結果がそのセルに表示されます。しかし、ArrayFormula関数を使用すると、関数が複数のセルにわたって一度に適用され、その結果が複数のセルに表示されます。これにより、多くのデータを一度に処理するのに便利です。
ようは検索値は一つだけど、その下も同じ関数をぴーーーーとすることありますよね?
その際に役に立つ関数です!
関数を入れれば入れるだけどんどんシートが重くなっていきますが、上部の一つだけに関数を入れるとあとは自動で関数が展開されるので、軽量化として注目されています。
また、想定よりも検索値が多くなったときに、関数をもう一度ぴーーーーとしたり、途中から関数入ってなかった~~~!
みたいなことないですか?あるあるです。(断言)一つのセルに範囲まで入っているので、メンテナンスが楽ちんという点もArrayformula関数のいいところだと言えます!
Arrayformula関数の使い方(+VLOOKUP)
まずは一番使われるであろうVLOOKUPとの組み合わせです。

=Arrayformula(VLOOKUP(検索値範囲,検索範囲,列番号,0))
F2に関数が入っている状態です。
通常、VLOOKUPだとE2だけを指定すると思いますが、Arrayformula関数を入れることによって
範囲(E2:E6)を指定することができます。そうすると

F3にカーソルを合わせても関数は入ってない(ように見えて)値だけが表示されます。
一気に下まで関数が入りました。
このぐらいの数5個とかであれば正直ぴーーーって引っ張ればいいのですが、これが1000を超えたり、万を超えたりするとまぁミスが起きたり、重くなりますよね。そういったときにぜひつかってみてください^^
Arrayformula関数の使い方(+IF関数)
次もよく使いそうなIF関数との組み合わせになります。
I2に関数が入っている状態です。
H列の数字が100%以上なら達成、未満は未達成、というふうに割り振るようにしました。

=Arrayformula(IF(検索値範囲>=1,”達成”,”未達成”))
これでI3以下に関数をいれずとも変わります!
かなり大きな表計算の際はぜひつかってみてくださいね。
そもそもスピルとは?
Excelの「スピル」という用語は、Excelの新しいダイナミック配列関数(Dynamic Array Functions)に関連して使われます。Excel 365およびExcel 2019以降のバージョンでは、新しい式の配列演算をサポートし、これらの新しい関数は「スピル」の概念に基づいて動作します。
スピルは、ダイナミック配列関数を使用して計算する際に、結果の配列が元のセル範囲を「こぼれ出す」現象を指します。つまり、通常のセル範囲よりも多くのセルに結果が表示されることを意味します。これにより、特定のセルに入力した式が、そのセルを中心に周囲のセルに結果を表示し、必要に応じてセル範囲を自動的に調整します。
例えば、A列に数値が入力されているとし、B列に「=A1:A10 * 2」を入力した場合、従来のExcelでは1つのセルに結果が表示されました。しかし、新しいダイナミック配列関数を使用すると、この式がB1からB10までのセルに適用され、結果が一括して表示されるため、スピルが発生します。
スピルはデータの自動展開とも関連しており、必要なセルに結果が展開されることによって、データ分析や集計が簡単に行えるようになります。ダイナミック配列関数は、多くの計算やデータ処理タスクを簡素化し、使いやすくするために導入されました。
まぁようは、ExcelではArrayformula関数いれずとも範囲を指定すれば同じ機能になるのです!!
Excel使いの方も是非試してみてくださいね。
まとめ
Arrayformula関数をご紹介いたしました。
知らなくても普通に関数は構築できます。ただ、知っていればより時短に、軽量化したファイルを作ることができます。
ぜひお試しください!
コメント