こんにちは、ツムギネコ知恵袋です。
Googleスプレッドシートで「同じ数式を何度もコピペして面倒…」と感じたことはありませんか?
そんな悩みを解決してくれるのが、ARRAYFORMULA(アレイフォーミュラ)関数です。
この記事では、ARRAYFORMULA関数の基本的な使い方から、実務で役立つ具体例までを初心者向けにわかりやすく解説します。
ARRAYFORMULA関数とは?|Googleスプレッドシートで複数セルを一括処理
ARRAYFORMULA
関数は、Googleスプレッドシート独自の強力な関数です。1つの数式で複数行・複数列にわたる処理を自動化できるため、作業効率が格段に向上します。
ARRAYFORMULA関数のメリット
- 作業の手間を削減:コピー&ペースト不要で、数式を一度入力するだけ。
- エラーの防止:手作業での数式ミスを防げる。
- シートが軽くなる:複数のセルに数式を入れるより処理がスムーズ。
- 新しいデータにも自動対応:行が追加されても自動で計算される。

実務で使える!ARRAYFORMULA関数の活用例3選
ここからは、実務でよく使うシーンを例に、ARRAYFORMULA関数の具体的な使い方を紹介します。
① 単価×数量で売上金額を一括計算【基本的な掛け算処理】
シート構成例
商品名 | 単価(B列) | 数量(C列) | 合計金額(D列) |
---|---|---|---|
A商品 | 100 | 5 | |
B商品 | 250 | 3 | |
C商品 | 80 | 10 |
数式(D2セルに入力)
=ARRAYFORMULA(B2:B * C2:C)
この1行で、すべての行の「単価×数量」を一括で自動計算できます。
ただ、このままでは下に0が表示されますね。。。
見栄えが悪いので次に記載する数式で不要な0を消してみましょう!

=ARRAYFORMULA(if(A2:A="","",B2:B * C2:C))
これで0が空白で埋められます!

② タスク管理|完了日からステータスを自動判定【条件分岐の一括処理】
シート構成例
タスク名 | 期日(B列) | 完了日(C列) | ステータス(D列) |
---|---|---|---|
資料作成 | 2024/05/31 | 2024/05/28 | |
会議設定 | 2024/06/05 | ||
議事録作成 | 2024/05/20 | 2024/05/25 |
数式(D2セルに入力)
=ARRAYFORMULA(
IF(A2:A="","",
IF(ISBLANK(C2:C), "未完了",
IF(C2:C > B2:B, "遅延", "完了")
)
))
少し見やすいように関数を整理しています。
➀で紹介したように最初はA列に文字列がなかったら空白で埋める処理をしています。
そのあとの処理は以下の通りになります。
- 完了日が空欄 →「未完了」
- 完了日が期日より後 →「遅延」
- それ以外 →「完了」

③ VLOOKUPと組み合わせて商品名を自動取得【複数行の参照処理】
注文リスト(シート1)
商品コード(A列) | 商品名(B列) | 数量 |
---|---|---|
P001 | 5 | |
P003 | 3 | |
P002 | 10 |
商品マスタ(シート2)
商品コード(A列) | 商品名(B列) | 単価 |
---|---|---|
P001 | パソコン | 1000 |
P002 | キーボード | 200 |
P003 | マウス | 150 |
数式(B2セルに入力)
=ARRAYFORMULA(
IF(A2:A="","",
VLOOKUP(A2:A, '商品マスタ'!A:B, 2, FALSE)))
商品コードに対応した商品名を一括で取得します。新たな注文が追加されても、自動で反映されます。

まとめ|ARRAYFORMULA関数を使えばスプレッドシート作業がもっと快適に!
GoogleスプレッドシートのARRAYFORMULA
関数を使いこなすことで、
- 数式のコピペ作業を削減
- 入力ミスを防止
- 常に最新の状態を保ったデータ処理
が可能になります。
業務効率化やルーティンの自動化に役立つ関数なので、ぜひ活用してみてください。