スプレッドシートARRAYFORMULA関数の使い方|値を複数セルにまとめて適用
本記事では、スプレッドシートのARRAYFORMULA関数について解説していきます。
具体例を使いながら解説していますので、ぜひ参考にしてみてください。
スプレッドシートのARRAYFORMULA関数
スプレッドシートのARRAYFORMULA関数は、選択した複数のセルにまとめて値を反映できる関数です。
配列数式から返された値を複数行または複数列に表示したり、非配列関数で配列を使用したりすることができます。
公式ドキュメント
大量にデータがある場合、数式を一つずつ入力するのは手間ですし、そのせいでスプレッドシートが重くなってしまうこともあるでしょう。
ARRAYFORMLULA関数は、先頭のセルにだけ入力すれば良いので手間もかかりませんし、スプレッドシートの軽量化につながります。
ARRAYFORMULA関数の使い方
ARRAYFORMULA関数は下記のように使用します。
ARRAYFORMULA(配列数式)
引数 | 説明 |
---|---|
配列数式 | まとめて適用したい範囲を指定 |
ARRAYFORMULA関数を使った例
それでは、実際にARRAYFORMULA関数を使用してみましょう。
各項目の売上を算出したい
ARRAYFORMULA関数は複数のセルにまとめて適用するため、先頭のセルに関数を入力します。(今回の場合はD2セル)
=ARRAYFORMULA(B2:B7*C2:C7)
ポイントは範囲指定の仕方です。
B列とC列の各行の値をそれぞれ掛けたいので、「B2*C2」ではなく「B2:B7*C2:C7」と指定します。
ショートカットキーで適用させることもできる
先に複数範囲を指定しておき、ショートカットキーでARRAYFORMULA関数を適用することも可能です。
D2セルに下記の数式を入力します。
=B2:B7*C2:C7
Mac
Command+Shift+Enter
Win
Ctrl+Shift+Enter
関数を手動で入力したときと同じ結果になったと思います。
ショートカットキーを入力する際はセル上にカーソルを充てるだけでは適用されないので、対象のセルをクリックして入力しましょう。
ARRAYFORMULA関数を使うときの注意点
上記で説明したように1回の入力で複数範囲に値を反映できるARRAYFORMULA関数ですが、注意点が2つあります。
- 適用する範囲内に値を入力しない
- ARRAYFORMULA関数が使えない関数もある
下記で詳しく解説していきます。
適用する範囲内に値を入力しない
ARRAYFORMULA関数では、指定した範囲の先頭セル以外に値が入っているとエラーになってしまいます。
上記の画像はD5セルに直接入力しているため、ARRAYFORMULA関数がエラーになっています。
この場合、入力されているセルの値を削除すればエラーも解消されるので、結果が反映されない場合は確認してみてください。
ARRAYFORMULA関数が使えない関数もある
2つ目の注意点が、ARRAYFORMULA関数が使えない関数があるということです。SUM関数やSUMIFS関数などが該当します。
ARRAYFORMULA関数はセルではなく範囲を指定して使用する関数ですので、元々範囲指定で使うSUM関数やセル指定の関数では使うことができないのです。
まとめ
今回は、スプレッドシートのARRAYFORMULA関数の使い方についてご紹介しました。
複数のセルに一気に値を反映できるARRAYFORMULA関数は、時短につながるだけでなく処理が軽くなる関数です。ぜひ活用してみてください。