「あぁ、またこの作業か…」
毎月の報告書で、同じ数式を一行ずつコピペする単純作業。
新しい行を追加したら、数式の範囲がズレて計算がおかしくなった経験。
スプレッドシートを使う経理や事務の現場で、誰もが一度は感じる「地味に面倒な時間」ですよね。
スプレッドシートを使う経理や事務の現場で、誰もが一度は感じる「地味に面倒な時間」ですよね。
もし、あなたがこんな風に感じているなら、朗報です。
その面倒な作業は、たった1つの関数で”まるっと”自動化できます。
この記事でご紹介するのは、スプレッドシート作業を劇的に変える、とても便利な関数、ARRAYFORMULA(アレイフォーミュラ)です。
この記事を読めば、あなたはARRAYFORMULAの基本をしっかり理解し、明日から面倒なコピペ作業から解放されます。
さあ、一緒に「手作業から自動化へ」、バックオフィスの仕事を一歩先へ進めましょう!
そもそもARRAYFORMULAって何?
ARRAYFORMULAは、一言でいうと「複数のセルに対する計算を、たった1つの数式で実行できる関数」です。
通常、=C2*D2のような計算式を入力したら、セルの右下を掴んで下の行までコピー(オートフィル)しますよね。ARRAYFORMULAを使えば、その一連のコピー作業が一切不要になります。
なんでそんなに便利なの?ARRAYFORMULAを使うべき3つの理由
ARRAYFORMULAを使うと、こんないいことがあります。
理由①:圧倒的な時短!もうコピペは不要です
一度数式をセットすれば、あとは全自動。
新しい行が追加されても、勝手に計算してくれます。
理由②:修正・管理がとにかく楽ちん
計算方法を変えたい時も、修正するのは最初のセルに入れた1つの数式だけ。
100行あっても修正は1回で済みます。
理由③:「うっかりミス」を根本から防げる
「1行だけ数式を直し忘れた…」なんていうヒューマンエラーが起こりようがありません。
仕組みでミスを防げるのは、すごく安心です。
【まずはこれだけ】3ステップで使い方をマスターしよう!
理屈より、まずは実際に手を動かしてみるのが一番!
経理や販売管理でおなじみの、この商品リストを例に見ていきましょう。
| 商品コード | 商品名 | 単価 | 数量 | 金額 |
|---|---|---|---|---|
| A-001 | 商品A | 1000 | 5 | |
| B-001 | 商品B | 2500 | 2 | |
| C-001 | 商品C | 800 | 10 | |
| D-001 | 商品D | 1200 | 3 |
ステップ①:まずはいつも通り、1行だけの数式を作る
最初は何も特別なことはありません。
E2セルに「単価 × 数量」の計算式を入れましょう。
=C2*D2

ステップ②:計算したい「範囲」を教えてあげる
次に、この計算を広げたい範囲に書き換えます。
「C2」を「C2からC5まで」という意味の C2:C5 に。
同じように「D2」も D2:D5 に変更します。
=C2:C5*D2:D5

この時点ではまだ何も起こりませんが、大丈夫です。
ステップ③:「ショートカットキー」で一括計算!
数式を入れたセルを選択した状態で、キーボードの Ctrl + Shift + Enter を同時に押してみてください。
すると、スプレッドシートが数式を自動で ARRAYFORMULA で囲んでくれて…
=ARRAYFORMULA(C2:C5*D2:D5)
一瞬で計算が完了します!
E2セルに数式が1つ入っているだけで、E5まで自動で計算結果が表示されたはずです。
もちろん、手で =ARRAYFORMULA() と入力してもOKですが、このショートカットは本当に便利なので、ぜひ覚えてください。

【応用編】経理・事務の仕事で輝く!相性バツグンの関数3選
ARRAYFORMULAは、他の関数と組み合わせることで真価を発揮します。
いつものあの作業も、もっと楽になりますよ!
IF関数:条件に合うデータだけを一括チェック
こんな時に便利! 👉 「合計金額が5,000円以上の取引に『高額』マークを付けたい」
=ARRAYFORMULA(IF(E2:E5>=5000, "高額", ""))

この数式をF2セルに入れるだけで、条件に合う行にだけ自動で「高額」と表示されます。
もう一件ずつ確認する必要はありません。
IFERROR関数:エラー表示をまとめて非表示に
こんな時に便利! 👉 「未入力の行でエラー(#DIV/0!)が表示されて、見た目が悪い…」
=ARRAYFORMULA(IFERROR(E2:E5 / D2:D5, "計算不可"))
これで、エラーが出るはずのセルには「計算不可」と表示したり、空欄にしたりできます。
シートがスッキリして、見やすくなりますね。
文字列結合(&):文字をまとめてくっつける
こんな時に便利! 👉 「『商品コード』と『商品名』を結合して、管理用の表示名を作りたい」
=ARRAYFORMULA("[" & A2:A5 & "] " & B2:B5)
[A-001] 商品A のような表示名を一瞬で作成できます。
手作業でチマチマやるより、ずっと速くて正確です。
【便利ワザ】未来の入力にも完全対応!”無限範囲”でメンテナンスフリーに
C2:C5のように範囲の終わりを指定すると、6行目に新しいデータを追加した際に、数式をC2:C6に修正する必要があります。
これでは少し手間がかかりますよね。
そんな時は、範囲の終わりを指定しない「無限範囲」を使いましょう。
C2:C5の代わりにC2:Cと書くだけで、「C列の2行目から一番下まで全部」という意味になります。
=ARRAYFORMULA(C2:C*D2:D)
こうしておけば、今後データが100行、1000行と増えても、数式を一切修正する必要がなくなります。
まさにメンテナンスフリーです。
ワンランク上のテクニック
無限範囲を使うと、データがない行に「0」が表示されてしまうことがあります。
そんな時は、IF関数を組み合わせて「もしC列が空欄なら、空欄のまま。そうでなければ計算してね」という命令を追加してあげましょう。
=ARRAYFORMULA(IF(C2:C="", "", C2:C*D2:D))
これで、データが入っている行だけ計算される、とてもスマートなシートが完成します!
まとめ
お疲れ様でした!
最後に、今日のポイントをおさらいしましょう。
- ARRAYFORMULAは「一つの数式で範囲の計算を自動化する」便利な関数
- メリットは「時短」「管理が楽」「ミス防止」の3つ
Ctrl + Shift + Enterのショートカットを覚えると超便利- IF関数などと組み合わせれば、活用の幅が無限大に広がる
- 無限範囲(C2:C)を使えば、メンテナンスフリーの最強シートが作れる
難しそうに見えたかもしれませんが、一度使い方を覚えてしまえば、これほど頼りになる相棒はいません。
さあ、次はあなたの番です。
まずは、あなたが普段の業務で「これ、毎回コピペしてるな…」と感じる作業を一つ見つけてみてください。
そして、その作業に ARRAYFORMULA が使えないか、今日学んだことを試してみてください。
小さな「自動化」が、あなたの貴重な時間を生み出します。
あなたのスプレッドシート作業が、今日からもっと快適になることを願っています!


