Googleスプレッドシート ARRAYFORMULAで業務効率を爆上げ!
日々の集計作業、VLOOKUPで一つ一つ数式を入力していませんか? それ、ARRAYFORMULAを使えば一瞬で終わります。この記事では、GoogleスプレッドシートのARRAYFORMULA関数を使って、複数行の計算やデータ処理を自動化する方法を解説します。もう手作業でのコピペ地獄から抜け出しましょう!
こんな場面で困っていませんか
請求書の自動計算
毎月大量の請求書を作成する経理部。商品名、単価、数量を入力するたびに、合計金額を手計算…なんてことはありませんか? 数式をコピーする手間も省きたいですよね。
売上データの集計
営業部の田中さんは、毎日の売上データを集計するのに時間がかかっています。商品ごとの売上、地域ごとの売上、担当者ごとの売上…集計項目が多くて大変です。
勤怠管理の効率化
総務部の鈴木さんは、社員の勤怠データを集計しています。残業時間や有給取得日数を手計算するのは、時間と労力がかかります。
Googleスプレッドシート ARRAYFORMULAで解決する方法
ARRAYFORMULAは、数式を配列全体に適用できる関数です。つまり、1つの数式で複数行や複数列の計算を一度に行うことができます。例えば、請求書の合計金額を自動計算したり、売上データを簡単に集計したり、勤怠管理を効率化したりできます。
ARRAYFORMULAの基本的な使い方
- 数式を入力するセルを選択: 計算結果を表示したいセル(通常は一番上の行)を選択します。
- ARRAYFORMULA関数を入力:
=ARRAYFORMULA(数式)の形式で数式を入力します。 - 数式を記述: 計算したい範囲を指定して数式を記述します。
- Enterキーを押す: 自動的に範囲全体に数式が適用されます。
例えば、A列に単価、B列に数量が入力されている場合、C列に合計金額を自動計算するには、C1セルに=ARRAYFORMULA(A1:A10*B1:B10)と入力します。これで、A1からA10までの単価とB1からB10までの数量が掛け合わされ、C1からC10までに結果が表示されます。
ポイント: ARRAYFORMULAは、数式を入力したセルから下のセルに自動的に数式を展開します。数式を入力する前に、下のセルにデータがないことを確認してください。もしデータがある場合は、上書きされてしまう可能性があります。
応用:もっと便利に使うには
IF関数との組み合わせ
ARRAYFORMULAは、IF関数と組み合わせることで、条件付きの計算も可能です。例えば、売上金額が10万円以上の場合に「達成」、それ以外の場合に「未達成」と表示したい場合、次のような数式を使います。
=ARRAYFORMULA(IF(A1:A10>=100000,"達成","未達成"))
VLOOKUP関数との組み合わせ
ARRAYFORMULAとVLOOKUP関数を組み合わせることで、複数の行に対してVLOOKUPを適用できます。例えば、商品コードに基づいて商品名を自動的に表示したい場合、次のような数式を使います。
=ARRAYFORMULA(VLOOKUP(A1:A10,商品マスタ!A:B,2,FALSE))
Microsoft公式: VLOOKUP関数によると、検索値は範囲の左端列に含まれている必要があります。ARRAYFORMULAと組み合わせることで、この検索を複数行に対して効率的に行えます。

SUMIF関数との組み合わせ
特定の条件に合致するデータの合計を計算したい場合、ARRAYFORMULAとSUMIF関数を組み合わせます。例えば、営業部の田中さんの売上合計を計算したい場合、次のような数式を使います。
=ARRAYFORMULA(SUMIF(B1:B10,"田中",C1:C10))
ここで、B列に担当者名、C列に売上金額が入力されていると仮定します。この数式は、B1からB10までの範囲で”田中”という名前を探し、対応するC列の売上金額を合計します。
やりがちなミスと対策
範囲指定のミス
ARRAYFORMULAで一番よくあるミスは、範囲指定のミスです。例えば、数式を入力したセルの下のセルにデータがある場合、ARRAYFORMULAはデータを上書きしてしまいます。また、範囲がずれていると、正しい結果が得られません。
対策: 数式を入力する前に、範囲が正しいことを確認しましょう。また、数式を入力するセルの下のセルにデータがないことを確認しましょう。
注意点: 経理の現場では、この設定を忘れて集計がずれるケースをよく見かけます。特に、後から行を追加した場合、範囲が自動で拡張されないため注意が必要です。
数式エラー
ARRAYFORMULAの中の数式にエラーがある場合、ARRAYFORMULA全体がエラーになります。例えば、VLOOKUP関数の引数が間違っている場合、#N/Aエラーが表示されます。
対策: ARRAYFORMULAの中の数式を一つずつ確認しましょう。VLOOKUP関数の場合は、検索値が検索範囲に存在するかどうかを確認しましょう。
パフォーマンスの問題
ARRAYFORMULAは非常に便利な関数ですが、大量のデータを処理する場合、パフォーマンスが低下する可能性があります。特に、複雑な数式や複数のARRAYFORMULAを組み合わせる場合、処理時間が長くなることがあります。
対策: 必要な範囲だけを指定するようにしましょう。また、できるだけシンプルな数式を使うように心がけましょう。
プロのコツ
- Ctrl+Shift+Enterは不要: Googleスプレッドシートでは、ARRAYFORMULA関数を使う場合、Ctrl+Shift+Enterを押す必要はありません。Excelとの違いですね。
- 数式を編集する際は: ARRAYFORMULAの数式を編集する際は、数式を入力したセル(通常は一番上のセル)で行います。他のセルを編集しようとしてもエラーが表示されます。
- 空白セル対策: 筆者の経験では、空白セルがあるとエラーになるケースがよくあります。
IF(ISBLANK(A1:A10),"",数式)のように、ISBLANK関数と組み合わせて空白セルを処理すると、エラーを回避できます。 - IMPORTRANGEとの連携: 複数のスプレッドシート間でデータを集計する際、IMPORTRANGE関数とARRAYFORMULAを組み合わせると、リアルタイムで集計結果を更新できます。例えば、各支店の売上データを本社で集計する際に便利です。
まとめ
GoogleスプレッドシートのARRAYFORMULAは、業務効率を大幅に向上させる強力なツールです。ARRAYFORMULAをマスターすることで、日々の集計作業から解放され、より創造的な仕事に時間を使うことができます。
- ARRAYFORMULAは、数式を配列全体に適用できる関数
- IF関数、VLOOKUP関数、SUMIF関数と組み合わせることで、さらに便利に使える
- 範囲指定のミス、数式エラー、パフォーマンスの問題に注意
ARRAYFORMULAを使いこなして、スマートな働き方を実現しましょう! 困ったときはこの記事に戻って確認してみてください。


コメント