
Googleスプレッドシートで1つの数式で複数の行に値を表示できる、ARRAYFORMULA関数の使い方をご紹介します。IF関数やVLOOKUP関数と組み合わせて使う方法についても解説しているので、ぜひ参考にしてみてください。
ARRAYFORMULA関数の使い方
ARRAYFORMULA関数の基本的な構成や、使用するメリットをご紹介します。ショートカットキーを使うと簡単に入力できるので便利です。
ARRAYFORMULA関数とは?

ARRAYFORMULA関数は「配列数式」から返された値を、複数行または複数列に表示させます。
配列{2,2,2}と{8,3,18}の和を算出する、配列数式(A1:A3+C1:C3)をセットしてみましょう。
配列数式(2+8、2+3、2+18)から返された値(10,5,20)を複数行に表示させるので、数式をE1セルに入力しただけでE2以降の行にも値が表示されました。
ARRAYFORMULA関数の構成要素:(配列数式)

ARRAYFORMULA関数は長くて覚えるのが大変そうですが、実は覚える必要はありません。
数式の編集中に[Ctrl]+[Shift]+[Enter]を押すと、先頭に「ArrayFormula」を追加できます。
ARRAYFORMULA関数はエクセルで使用できませんが、似たような機能でスピルがあります。
ARRAYFORMULA関数を使用するメリット

ARRAYFORMULA関数を使えば固定記号($)を使わずに、絶対参照が可能です。
例えば配列数式が(A1+C1:C3)なら、特定の配列C1:C3{8,3,18}に対し常にA1(3)を足し算します。

また参照先や計算内容を変更するときに、修正が1つのセルだけで済みます。
配列数式を和から積(A1*C1:C3)に変更すると、すべての計算結果が積に修正されました。
ARRAYFORMULA関数を使えば数式の数を減らせますが、一概にスプレッドシートが軽くなるとは言えないので注意しましょう。
ARRAYFORMULA関数と組み合わせ可能な関数
ARRAYFORMULA関数と組み合わせて使える代表的な関数をご紹介します。なおSUM関数は使えないので、ARRAYFORMULA関数と組み合わせる場合は演算子で足し算するのがお勧めです。
IF関数

- 数式例:ArrayFormula(IF(A1:A3>10,”○”,”×”))
例ではIF関数の「論理式」に、配列数式{12,5,15}>10をセットしています。C1セルに数式を入力するだけで、10より大きいすべての行に○が表示されました。
IF関数の構成要素:(論理式, TRUE値, FALSE値)
VLOOKUP関数

- 数式例:ArrayFormula(VLOOKUP(D1:D5,A1:B3,2,FALSE))
例ではVLOOKUP関数の「検索キー」に、配列{D1:D5}をセットしています。E1セルに数式を入力するだけで、検索キーと一致する価格がすべての行に表示されました。
VLOOKUP関数の構成要素:(検索キー, 範囲, 列番号, [TRUEまたはFALSE])
IFERROR関数

- 数式例:IFERROR(B1:B5,”★”)
例ではIFERROR関数の「値」に、配列{B1:B5}をセットしています。D1セルに数式を入力するだけで、すべてのエラー行に★マークが表示されました。
IFERROR関数の構成要素:(値, [エラー値])

VLOOKUP関数と組み合わせた場合は、以下の通りです。VLOOKUP関数の検索キーに配列をセットしています。
ArrayFormula(IFERROR(VLOOKUP(検索キー,検索範囲,列番号,FALSE),”エラーの値”))
VLOOKUP関数で検索キーと一致する値をすべての行に表示し、エラーの場合「★」を表示します。