スプレッドシートARRAYFORMULA関数の使い方|値を複数セルにまとめて適用

記事内の「“”」「‘’」が全角になっていますが、スプレッドシートで指定する場合は半角に変更してください

本記事では、スプレッドシートのARRAYFORMULA関数について解説していきます。

具体例を使いながら解説していますので、ぜひ参考にしてみてください。

目次

スプレッドシートのARRAYFORMULA関数

スプレッドシートのARRAYFORMULA関数は、選択した複数のセルにまとめて値を反映できる関数です。

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

公式ドキュメント

大量にデータがある場合、数式を一つずつ入力するのは手間ですし、そのせいでスプレッドシートが重くなってしまうこともあるでしょう。

ARRAYFORMLULA関数は、先頭のセルにだけ入力すれば良いので手間もかかりませんし、スプレッドシートの軽量化につながります。

ARRAYFORMULA関数の使い方

ARRAYFORMULA関数は下記のように使用します。

ARRAYFORMULA(配列数式)

スクロールできます
引数説明
配列数式まとめて適用したい範囲を指定

ARRAYFORMULA関数を使った例

それでは、実際にARRAYFORMULA関数を使用してみましょう。

やりたいこと

各項目の売上を算出したい

STEP
関数を適用したい先頭のセルを選択

ARRAYFORMULA関数は複数のセルにまとめて適用するため、先頭のセルに関数を入力します。(今回の場合はD2セル)

STEP
D2セルに下記の関数を入力

=ARRAYFORMULA(B2:B7*C2:C7)

ポイントは範囲指定の仕方です。

B列とC列の各行の値をそれぞれ掛けたいので、「B2*C2」ではなく「B2:B7*C2:C7」と指定します。

ショートカットキーで適用させることもできる

先に複数範囲を指定しておき、ショートカットキーでARRAYFORMULA関数を適用することも可能です。

STEP
関数を適用したい先頭のセルに数式を入力

D2セルに下記の数式を入力します。

=B2:B7*C2:C7

STEP
D2セルを選択した状態でショートカットキーを入力

Mac
Command+Shift+Enter

Win
Ctrl+Shift+Enter

関数を手動で入力したときと同じ結果になったと思います。

ショートカットキーを入力する際はセル上にカーソルを充てるだけでは適用されないので、対象のセルをクリックして入力しましょう。

この状態でショートカットキーを入力

ARRAYFORMULA関数を使うときの注意点

上記で説明したように1回の入力で複数範囲に値を反映できるARRAYFORMULA関数ですが、注意点が2つあります。

  1. 適用する範囲内に値を入力しない
  2. ARRAYFORMULA関数が使えない関数もある

下記で詳しく解説していきます。

適用する範囲内に値を入力しない

ARRAYFORMULA関数では、指定した範囲の先頭セル以外に値が入っているとエラーになってしまいます。

上記の画像はD5セルに直接入力しているため、ARRAYFORMULA関数がエラーになっています。

この場合、入力されているセルの値を削除すればエラーも解消されるので、結果が反映されない場合は確認してみてください。

ARRAYFORMULA関数が使えない関数もある

2つ目の注意点が、ARRAYFORMULA関数が使えない関数があるということです。SUM関数やSUMIFS関数などが該当します。

ARRAYFORMULA関数はセルではなく範囲を指定して使用する関数ですので、元々範囲指定で使うSUM関数やセル指定の関数では使うことができないのです。

まとめ

今回は、スプレッドシートのARRAYFORMULA関数の使い方についてご紹介しました。

複数のセルに一気に値を反映できるARRAYFORMULA関数は、時短につながるだけでなく処理が軽くなる関数です。ぜひ活用してみてください。

目次