スプレッドシートの処理が重い…を改善するARRAYFORMULA関数の使い方

みなさんこんにちは!
テラド(@terashin1226)です!

Googleスプレッドシートで関数の量が多くなってくると

スプレッドシートの処理が重い…

そんな時、ありますよね?

本記事では1セルに書くだけで、複数のセルに関数の計算結果を反映するARRAYFORMULA関数を使い、Googleスプレッドシートの処理を速くする方法をお伝えします。

ARRAYFORMULA関数を使えばスプレッドシートの関数の量が少なくなり、処理スピードとメンテンナンス性が向上します。

Excelにない関数なので、意外と知らない方が多いかもしれませんが、超便利な関数なのでばっちり使いこなしちゃいましょう。

それではいってみましょう!

スポンサーリンク

ARRAYFORMULA関数とIF関数を合わせて使ってみる

ARRAYFORMULA関数は実際に使った方がイメージが湧きやすいため、条件判定ができるIF関数と合わせて使用した例を見ながらその効果を確認していきましょう!

オートフィルを使って複数セルに関数を書いた場合

まずは、ARRAYFORMULA関数を使わない場合を見ていきます。

A列のセルの値をIF関数で判定し、文字列「いつも隣に」の場合、B列に「〇」を表示します。

IF関数の構文は以下の通りです。

if(条件式,条件式が成立した時の値,条件式が成立しなかった時の値)

ARRAYFORMULA関数を使わない場合には、先頭に関数を入力し…

オートフィル機能等を使って先頭セルの内容をコピーするかと思います。

するとコピーされた関数内のセルは、自動的にA1→A2→…→A10と相対的な行数に合わせたセルとなります。

例えば、B4セルの関数は元の関数から3行下がるので、指定するセルはA1→A4となっています。

B1~B10まで関数が入力され、「いつも隣に」と条件に合致しているセルだけ「〇」がついているのがわかります。

では、これをARRAYFORMULA関数で書き換えていきましょう!

ARRAYFORMULA関数で書き換えた場合

ARRAYFORMULA関数の構文は以下の通りです。

ARRAYFORMULA(関数(セルの範囲))

ARRAYFORMULA関数の中には、さらに関数を記載します。

ARRAYFORMULA関数内では、関数の条件式に単一セルでなく、判定したいセルの範囲を指定します。

それでは、C列にARRAYFORMULA関数を追加していきますよ!

ARRAYFORMULA関数内にはさきほどのIF関数=「if(A1=”いつも隣に”,”〇”,””)」をまず記載します。そしてセル「A1」の部分をセルの範囲「A1:A10」に書き換えます。

すると…

1つのセルだけに書いた関数が範囲指定した行分、判定されて〇がついていますね。

ただし!

ARRAYFORMULA関数より下のセルは…

このように関数が入っていませんね!

「〇」が表示されているセルも見てみると…

関数ではなく「〇」だけが入力されています!

ARRAYFORMULA関数内にセル範囲を指定した関数を記載すれば、1セルの記載でオートフィルで関数をコピーした時と同様の機能を実現できます。

しかも関数がコピーされるのではなく、反映されるのは計算結果のみなのでスプレッドシートの関数の量を減らすことができます。

ちなみに、ARRAYFORMULA関数より下に何か値が入っていると…

このようにエラーとなってしまうので気をつけてくださいね。

ARRAYFORMULA関数のメリット

例で見てきたとおり、ARRAYFORMULA関数を使うと、スプレッドシートの関数の量が減ります

関数の量が減ることにより

  • 計算の量が減り、スプレッドシートの処理速度が向上
  • ARRAYFORMULA関数の設定されたセルのみ修正すればよく、メンテナンス性が向上

という2つのメリットがあります。

「スプレッドシートが重い…」
「関数がいっぱいあってどれを修正すればいいかわからない…」

ARRAYFORMULA関数はそんな状況を解決してくれます!

ショートカットで入力ができる

なんとARRAYFORMULA関数はスプレッドシートの中で唯一ショートカットキーが割り当てられている関数なんです。

ショートカットキーは以下のとおりです。

windowsの場合:「ctrlshift+Enter
macの場合:「command+shift+Enter

筆者はWindows環境なので「ctrl+shift+Enter」を使用します。

ショートカットキーを使う場合、まずARRAYFORMULA関数内に記載する関数から書いていきます。

関数が記入できた後に「ctrl+shift+Enter」を押すと…

このように自動的にARRAYFORMULA関数内に、先に記載していた関数が入ってくれます。

楽ちんですね!

まとめ

本記事では1セルに書くだけで、複数のセルに関数の計算結果を反映するARRAYFORMULA関数を使い、スプレッドシートの処理を速くする方法をお伝えしました!

ARRAYFORMULA関数を使うことで関数の量が少なくなり、スプレッドシートの処理速度が向上し、メンテンナンス性も向上します。

また、ARRAYFORMULA関数はショートカットキーで入力もできちゃいます。

Excelにはない超便利なARRAYFORMULA関数、ぜひ覚えてご活用ください。

それでは、最後までお読みいただきありがとうございました!

タイトルとURLをコピーしました