目次
Googleスプレッドシートで表を作成していると、同じ数式を何行にもコピーする作業が頻繁に発生する。データが増えるにつれてコピー漏れや参照ズレが起きやすくなり、集計ミスにつながることも少なくない。こうした悩みを解消するのが、ARRAYFORMULAという関数である。
本記事では、ARRAYFORMULAを初めて使う人向けに、基本的な考え方から具体的な書き方、実務でよく使うパターンまでを解説する。
ARRAYFORMULAとは何か

ARRAYFORMULAは、スプレッドシートの計算方法を一段階引き上げてくれる関数である。どのような働きをするのか確認しておこう。
ARRAYFORMULAの基本的な役割
ARRAYFORMULAとは、複数のセル範囲(配列)に対して、一度に同じ処理を行うための関数である。通常の数式は1セル分の計算しかできないが、ARRAYFORMULAを使うと「列全体」「複数行」をまとめて処理できる。
通常の数式(オートフィル)との違い
オートフィルは便利だが、次のような問題が起きやすい。
- 行追加のたびにコピーが必要
- コピー漏れで空白行が生まれる
- 参照セルがずれて計算ミスが起きる
ARRAYFORMULAを使えば、これらの作業とミスをまとめて減らせる。数式管理が1か所に集約される点も大きな違いである。
Googelスプレッドシート特有の関数
ARRAYFORMULAはGoogleスプレッドシートでは使用できるが、Excelでは使えない。
ただし、Microsoft365/Excel2021以降のExcelでは、動的配列という仕組みが導入されている。これにより、ARRAYFORMULAに近いことができるようになった。
ARRAYFORMULAの基本構文と考え方

ARRAYFORMULAを理解するうえで重要なのは、構文よりも「考え方」である。
基本構文
ARRAYFORMULAの基本形は次のとおりである。
=ARRAYFORMULA(処理内容)
「処理内容」の中で、単体セルではなく範囲を指定するのがポイントとなる。
範囲指定と自動拡張の仕組み
「A2:A」のように列全体を指定しておくと、行が増えた場合でも自動で計算が行われる。初心者は「ARRAYFORMULA=列を伸ばす数式」と覚えると理解しやすい。
初心者が最初に覚えるARRAYFORMULAの基本例
ここでは、実務でよくあるシンプルな例を使い、ARRAYFORMULAの使い方を順を追って解説しよう。
例1:単価×個数で金額を一括計算する

D2セルに次の数式を入力する
=ARRAYFORMULA(IF(B2:B=””, “”, B2:B*C2:C))


利用する際には、下記のポイントに注意する。
- B列が空白の行は何も表示しない
- 数式はD2に1つだけでよい
- 行を追加しても自動で金額が計算される
例2:税込価格を自動で計算する
税込価格を求める場合も、考え方は同じである。
- E1に「税込」と入力する
- E2に次の数式を入力する
=ARRAYFORMULA(IF(B2:B=””, “”, ROUND(B2:B*1.1,0)))

ROUND関数を組み合わせることで、端数を四捨五入した見やすい金額になる。

IF関数とARRAYFORMULAの組み合わせ
ARRAYFORMULAはIF関数と組み合わせることで、実用性が一気に高まる。
合否やステータスを一括判定する
A列に点数を入力し、B列に60点を基準に合否を表示する例。
数式
=ARRAYFORMULA(IF(A2:A=””, “”, IF(A2:A>=60,”合格”,”不合格”)))

エラーを目立たせないための工夫
検索や計算でエラーが出る場合は、IFERRORと組み合わせる。
=ARRAYFORMULA(IF((B2:B=””)+(C2:C=””),””,IFERROR(B2:B*C2:C,””)))

実務でよく使われるARRAYFORMULAの活用パターン
ここでは、業務シートで特に出番が多い使い方を紹介する。
VLOOKUPと組み合わせてマスタ参照を自動化する
商品IDから商品名を自動表示する場合の例

=ARRAYFORMULA(IF(A9:A=””,””,IFERROR(VLOOKUP(A9:A,$A$2:$C$5,2,FALSE),””)))
IDを入力するだけで、商品名が自動反映される。
複数列を一度に生成する
氏名を姓・名に分割する場合など、横方向にも使える。
=ARRAYFORMULA(IF(A2:A=””, “”, SPLIT(A2:A,” “)))

ARRAYFORMULAを使うときの注意点

便利なARRAYFORMULAにも注意点はある。ここでは使用する際の注意点を紹介する。
出力先のセルは必ず空にする
結果が出る範囲に値が入っていると、エラーが発生する。ARRAYFORMULAを入れる前に、出力列は必ず空にしておく。
大量データでは使いすぎに注意する
列全体参照を多用すると、シートが重くなることがある。必要に応じて範囲を限定するなど、運用面での工夫も重要である。
まとめ
ARRAYFORMULAは、スプレッドシートでの数式コピー作業を根本から減らしてくれる関数である。列全体を一括処理するという考え方を理解すれば、行追加に強く、ミスの少ないシートを作れるようになる。まずは単価計算やIF判定といった基本的な例から試し、徐々に検索や文字整形へと応用していくのがおすすめだ。ARRAYFORMULAを使いこなせるようになると、日々の表作成が確実に楽になる。
本記事の内容を以下で簡単におさらいしよう。
- ARRAYFORMULAとは
- 複数行・列に対して、1つの数式でまとめて処理できる関数
- 数式のコピーが不要になり、行追加にも自動対応できる
- 通常の数式との違い
- コピー漏れや参照ズレによるミスを防げる
- 数式を1か所で管理でき、表が壊れにくい
- 使える環境
- Googleスプレッドシート専用の関数。
- Excelでは使えない(動的配列で代替は可能)
- 基本構文と考え方
- 基本形:=ARRAYFORMULA(処理内容)
- A2:A のように列全体を指定するのがポイント
- 注意点
- 出力先のセルは必ず空にする。
- 列全体参照の使いすぎは動作が重くなる
構成/編集部







DIME MAGAZINE











