【スプレッドシート】ARRAYFORMULAの使い方

office-pc プログラミング

Googleのスプレッドシートでは、ARRAYFORMULAという関数があります。

GoogleドキュメントのARRAYFORMULAについての解説によると

ARRAYFORMULA

配列数式から返された値を複数行または複数列に表示したり、非配列関数で配列を使用したりすることができます。

ARRAYFORMULA – Googleドキュメント エディタヘルプ

いまいちピンとこないですね。

この記事では、実例を交えながら解説していきます。

ARRAYFORMULAを使うメリット

商品ごとの合計を計算するとき、D列にB列とC列を掛けた値を表示させます。

D2セルに『=B2*C2』と入力し、オートフィルで最後の行まで数式をコピーします。

spreadsheet-input-formula

ARRAYFORMULAを使えば1つのセルに数式を入力するだけで、最後の行まで数式をコピーする必要がありません。

E2セルに『=ARRAYFORMULA(B2:B6*C2:C6)』と入力すれば、勝手にE6セルまで値が表示されます。

spreadsheet-input-arrayformula

使い方

ROW()関数を使ってNoを入力する場合、以下のように入力をします。

spreadsheet-input-row

入力している数式で変わっているのは、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つのセルの数式を変更するだけでいい
タイトルとURLをコピーしました