
Googleスプレッドシートで一つの数式で複数の行に結果を表示できる、ARRAYFORMULA関数の使い方をご紹介します。COUNTIFやVLOOKUPといった、他の関数と組み合わせて使われる実用的な例も具体的に解説しているので、ぜひ参考にしてみてください。
ARRAYFORMULA関数の基本
ARRAYFORMULA関数の主な使い方は、次の2点です。
- まとめて計算する:1つの数式で、複数の行に結果を表示することができます。
- 他の関数と組み合わせる:通常は1つのセルしか処理できないIFやVLOOKUPといった関数に組み合わせることで、複数のセルにまとめて適用できるようになります。
💡ポイント:数式を入力した後にCtrl + Shift + Enter を押すとことで、数式の先頭にARRAYFORMULA関数が自動的に追加されます。
まとめて計算する

最も基本的な使い方は、複数の列の値をまとめて計算することです。
たとえば、A列(価格)とB列(個数)をそれぞれ掛け算した結果を求めたい場合、数式は次のようになります。
例:=ArrayFormula(A2:A4*B2:B4)
この数式はD2セルに入力するだけで、D2からD4のセルに計算結果が自動で表示されます。
行の追加に自動で対応する

範囲の終点の行番号を指定しない(例:A2:A)ことで、行の追加にも自動で対応できます。
例:=ArrayFormula(A2:A*B2:B)
この数式は、A列とB列に新しいデータが入力されるたびに、自動で計算結果を更新します。
1つの値を複数に掛ける

すべてのセルに、同じ値をまとめて掛け算することができます。
例:=ArrayFormula(A2*B2:B4)
この数式は、A2セルの値をB2からB4のすべてのセルに掛け算した結果を、まとめて表示します。
他の関数と組み合わせる
COUNTIF関数の場合

COUNTIF関数にARRAYFORMULAを組み合わせると、通常はできない配列を使ったカウントが可能になります。
たとえば、A列の日付から「2025年」のものをカウントしたい場合、数式は以下のようになります。
例:=ArrayFormula(COUNTIF(YEAR(A2:A5),"2025"))
COUNTIF関数の引数:(範囲, 条件)
COUNTIF関数は、YEAR関数が返す配列{2025, 2025, 2025, 2026}を直接受け取って処理することができません。
そこでARRAYFORMULAを組み合わせることで、COUNTIF関数がこの配列を扱えるようになり、2025年の件数をまとめてカウントできるようになります。
VLOOKUP関数の場合

VLOOKUP関数をARRAYFORMULAと組み合わせると、複数条件を満たす値を抽出できます。
たとえば、「岡山」と「もも」という2つの条件と一致する価格を抽出したい場合、数式は次のようになります。
例:=ArrayFormula(VLOOKUP("岡山"&"もも",{A2:A5&B2:B5,C2:C5},2,FALSE))
VLOOKUP関数の引数:(検索キー, 範囲, 指数, [並べ替え済み])
この数式は、まずVLOOKUP関数の「検索範囲」に、{A2:A5&B2:B5,C2:C5}という仮想的な配列を作成しています。次に、ARRAYFORMULAを組み合わせることでVLOOKUP関数にこの配列を扱えるようになり、複数条件での検索を可能にしています。
詳しくは、「VLOOKUP関数を複数条件にする方法」で解説しています。