複数セルへ関数を一気に反映する
今回は、複数セルへ一気に関数を反映させる、ARRAYFORMULA関数について紹介します!
ちょっと癖があるので、慣れるまで時間がかかるかもしれませんが、なれてしまえば便利に使えるので是非頑張ってください!(^o^)
ARRAYFORMULA関数
ARRAYFORMULA(配列数式)
配列数式 とは、 1 つの範囲か、1 つのセル範囲または同じサイズの複数範囲を使用する数式か、1 つのセルより大きい結果を返す関数を指定します。
よく分かんないと思いますの、やってみましょう笑
サンプル
次のサンプルで、一番簡単なバーションで説明します。

合計欄に、一人ずつの全教科の合計をします。
普通にやるバージョン
普通は、SUM関数を使って出しますね。
一番上のセルに数式を入力して

それ以下は、数式をコピーして貼り付けます。

ARRAYFOMURA関数使うバージョン
ARRAYFOMURA関数を使うと、F2セルに数式を入れるだけで全部反映出来ます。
F2セルに以下の数式を入れます。
=ARRAYFORMULA(B2:B6+C2:C6+D2:D6+E2:E6)

確定すると、

F6セルまで全て計算されていますね。
=ARRAYFORMULA(B2:B6+C2:C6+D2:D6+E2:E6)
で言う、「B2:B6+C2:C6+D2:D6+E2:E6」部分が配列数式です。

同じ行数の範囲同士を足していると考えると分かりやすいと思います(^o^)
同じ行数になっているところがポイントです。
ARRAYFOMURA関数では、その同じ行同士を足してくれているんですね。
つまり、
F2セルは、「B2+C2+D2+E2」
F3セルは、「B3+C3+D3+E3」
F4セルは、「B4+C4+D4+E4」
F5セルは、「B5+C5+D5+E5」
の答えが出ています。
数式が入っているのは、F2セルだけで、後のセルには入っていません。
ARRAYFOMURA関数✕IF関数
ARRAYFOMURA関数の中で関数を使うことも出来ます。

先程のサンプルのG列に、350点以上かどうかの判定をARRAYFOMURA関数を使っていれてみましょう。
次の数式になります。
=ARRAYFORMULA(IF(F2:F6>=350,”◯”,”☓”))
IF関数の条件式のところ「F2:F6>=350」が配列数式になっています。
F2からF6までを順番に判定してくれます。
G2セルに入力して

Enterで確定します。

G6セルまで判定が1つの式で出来ました(^o^)
まとめ
ARRAYFOMURA関数を説明しました。「このサイズの表ではあまり恩恵が無いと思いますが、特にVLOOKUPやSUMIF関数など、検索を伴う関数を大量のセルに入力すると、動きが死ぬほど遅くなったりします。そんな時ARRAYFOMURA関数で対応することで、動きが早く快適にすることが出来る場合もありますよ(^o^)
更に、ARRAYFOMURA関数を使うことで、スプレッドシート上でも動的処理の幅が広がります!
コメント