Googleのスプレッドシートでは、ARRAYFORMULAという関数があります。
GoogleドキュメントのARRAYFORMULAについての解説によると
ARRAYFORMULA
配列数式から返された値を複数行または複数列に表示したり、非配列関数で配列を使用したりすることができます。
ARRAYFORMULA – Googleドキュメント エディタヘルプ
いまいちピンとこないですね。
この記事では、実例を交えながら解説していきます。
ARRAYFORMULAを使うメリット
商品ごとの合計を計算するとき、D列にB列とC列を掛けた値を表示させます。
D2セルに『=B2*C2』と入力し、オートフィルで最後の行まで数式をコピーします。
ARRAYFORMULAを使えば1つのセルに数式を入力するだけで、最後の行まで数式をコピーする必要がありません。
E2セルに『=ARRAYFORMULA(B2:B6*C2:C6)』と入力すれば、勝手にE6セルまで値が表示されます。
使い方
ROW()関数を使ってNoを入力する場合、以下のように入力をします。
入力している数式で変わっているのは、ROW()関数のセルの値です。
「=ROW(ここのセルが変わっている)-1」
変わっている部分を「最初のセル:最後のセル」というように入力し、全体を「ARRAYFORMULA」で囲みます。
セルで関数を入力中に『Ctrl+Shift+Enter』で、ARRAYFORMULAを挿入できます。
=ARRAYFORMULA(ROW(A2:A9)-1)
ARRAYFORMULAをどう入力すればわからないときは、2つくらい実際の数式を入力して、どのセルが変化しているか確認すればわかりやすいです。
例えば、A列からC列までの和を計算するときは次のようになります。
1セルずつ入力した場合
=A2+B2+C2
=A3+B3+C3
=A4+B4+C4
これをARRAYFORMULA使えば次のようになる
=ARRAYFORMULA(A2:A4+B2:B4+C2:C4)
まとめ
ARRAYFORMULAは、慣れるまでは難しいですが、使えるようになれば強い武器になります。
- 1つのセルに数式を書くだけで、複数のセルに表示させることができる
- 数式を変更するときは1つのセルの数式を変更するだけでいい