【スプレッドシート】超便利!?ARRAYFORMULA関数とは一体

どうもどうも( *´艸`)
ゲーマー
システムエンジニア2号です🎮🎮🎮


個人目標にブログ更新を入れてしまったので
出現率マシマシでございます 🙄🙄🙄


マシマシというと二郎系ですね!
野菜マシマシだー!

私のGoogleフォトでラーメンと検索すると
二郎系っぽい写真は…
2012年8月20日が最後ですね!

9年も劣化した胃袋では…
完食できる気がしないですね(笑)

無限に食べられた頃が懐かしい…!


さて本題です!
Googleフォトの話をしてましたが
全く関係ありません!

ある意味マシマシは
合っているかもしれませんが( *´艸`)



本日紹介するのは
Googleスプレッドシートの
ARRAYFORMULA関数】になります

雑に紹介に紹介すると数式マシマシ!!
詳しくは次項で!!

ARRAYFORMULA関数とは

公式の説明はこちら

「配列数式から返された値を複数行または複数列に表示したり、非配列関数で配列を使用したりすることができます。」

要約すると
・別の関数や数式を
・指定した範囲に適用させる関数です


まだわかりづらいので簡単な例を挙げます


D列で次のような計算をしたとしましょう

 = A1 + B1 + C1
 = A2 + B2 + C2
 = A3 + B3 + C3  ……以下略

これが10行ならコピペでもいいですが
もし10,000行あったら相当大変です……

また追加でデータが入るたびに
式も伸ばさないといけません……

めんどくさすぎ!何とかならないの?


こういう時は
ARRAYFORMULA を使いましょう!


「D1セルに」
=ARRAYFORMULA( A1:A + B1:B + C1:C ) です

大事なことなので繰り返します


「D1セルに」
=ARRAYFORMULA( A1:A + B1:B + C1:C )


たった1セルの記入で十分です


D2セル以降は記入しなくて良いですし
データが増えても勝手に計算されます

しかもこの関数
10,000回計算式入れるよりも
処理が軽いのです…!

便利さに軽さが合わさり最強に見える

書き方を教えて!

ちょっと複雑になりがちなので
不慣れなうちは普通に数式を作り、
後から型にはめる方が簡単です


【手順1】
一度普通に数式を組み立てます
[ = B3 * C3 ]


【手順2】
頭にARRAYFORMULAを付け、
以降を()で囲みます
[ = ARRAYFORMULA ( B3 * C3 ) ]

※小ネタで Ctrl + Shift + Enter がショートカットです


【手順3】

()の中を反映させたい範囲に変えます

例えば3行目 ~ 32行目にする場合だと
[ = ARRAYFORMULA ( B3:B32 * C3*C32 ) ]

3行目 ~ 最後までにする場合は
[ = ARRAYFORMULA ( B3:B * C3*C ) ]


上の例でサンプルを用意しましたので
良ければご覧ください

サンプルファイル

ARRAYFORMULA で 数式マシマシだー!

ARRAYFORMULAの注意点は?

相当便利な関数ですが
いくつか注意点もあります

【注意点1】元が配列関数だと使えない
例えば AVERAGE( A1 : C1 ) を
ARRAYFORMULA( AVERAGE( A1:A : C1:C ) ) と書いても思うように動きません

こういう場合は
ARRAYFORMULA( ( A1:A + B1:B + C1:C ) / 3 )
と書き換えましょう!

上手く書き換えて認識させるべし



注意点2】ソートする時は注意!
ソートする
→ 関数の場所が変わる
→ 意図せぬ値になる

このパターンがたまにあります
ソートをするシートでは範囲外に書きましょう!
(ラベルの行に関数置くのがベターです!)

サンプルファイルのF列がヒント!



注意点3】範囲内に手入力しない!
関数でA1~A5までデータが入る時に
A2にデータを入力してしまうと
関数はエラーを吐きます!

サンプルファイルのG列のエラーです!



【より便利に】
IF や IFERROR と併用して
空欄やエラーの場合の表示を整えると
さらに便利ですね!


ちょっと複雑ですが
使いこなすと非常に便利な関数です!

入力のショートカットがあるくらいなので
Google も力を入れている関数だと思いますよ!
ぜひいつものシートに組み込みましょう!



ご不明な点、詳しく知りたい方は
お問い合わせお待ちしております(/・ω・)/

浮ヶ谷 雄輔

日本大学理工学部卒業後、
現在のヒカリシステムに入社。

趣味はゲーム(MMO)とTCG。
より効率的な処理が出来るよう
日々修行しています。

関連記事