「Googleスプレッドシートを使用する際にセルに1つずつ関数を入力したり、反映させてたりするのが面倒くさい」
そう思っている方は少なくないと思います。特にデータの量が多いと余計に面倒ですよね。
さらにこの作業は面倒なだけでなく、ブラウザにとても負担をかけていて表示速度や関数の反映スピードの遅延化に繋がっています。
そんな時に役に立つのが「ARRAYFORMULA関数」です。
そこで今回は、ARRAYFORMULA関数についてご紹介していきたいと思います。
【目次】
ARRAYFORMULA関数とは?
ARRAYFORMULA関数とは「ARRAY=配列」と「FORMULA=数式」を組み合わせた造語で、数式を配列形式で表示させることができる関数です。
この関数を使うことで、ブラウザに欠ける負担が軽減されるのでスプレッドシートの表示速度が早くなります。VLOOKUP関数やINDIRECT関数などと一緒に使われることが多いです。
VLOOKUP関数とINDIRECT関数についてはこちらの記事をご覧ください。
※ちなみにこの関数は「Googleスプレッドシート」オリジナル関数なので「Excel(エクセル)」では使えません。
ARRAYFORMULA関数の使い方
=ARRAYFORMULA(配列数式)
=ARRAYFORMULA(IF(B2:B11>=60, “○” , “×”))
引数について説明していきたいと思います。
・配列数式
1つの範囲か、1つのセル範囲または同じサイズの複数範囲を使用する数式か、1つのセルより大きい結果を返す関数を指定します。
これでは少しわかりにくいと思うので、対象のセルを範囲で指定すると認識していただければ大丈夫です。
ARRAYFORMULA関数の使い方の具体例
「数式を配列形式で表示させることができる」と言ってもよく分からないので実際にスプレッドシートを使って実例をみていきましょう。
これはある試験における点数の結果と合否です。C列とD列に60点以上が合格「○」で、60点未満は不合格「×」で表示されています。
一見何も変わらないように見えますが、ここで数式をそれぞれ表示させてみましょう。
C列には全てのセルに関数が打ち込まれているのに対して、D列はD2にのみ関数が打ち込まれ、それ以降は「○」もしくは「×」しか打ち込まれていません。
もちろん手打ちをしたわけではありません。ARRAYFORMULA関数を用いたことで指定した範囲箇所は全て勝手にコンピュータが判断して打ち込んでくれたのです。
対象セルの範囲に注意
ここでみなさんに気をつけて欲しいのが「IF関数のみの数式」と「ARRAYFORMULA関数を用いたIF関数の数式」でセルの範囲指定が異なっているという点です。
分かりやすくしてみると、
=IF(単一セル>=60,”○”,”×”)
【ARRAYFORMULA関数を用いたIF関数】
=ARRAYFORMULA(IF(範囲セル>=60,”○”,”×”))
IF関数の単一セルだった部分が範囲セルになっています。
ARRAYFORMULA関数を使うと、IFやTEXT、YEARなどの1つのセルにしか使えない関数に対して、範囲を選択して使うことができるようになります。
IF関数についてはこちらの記事をご覧ください。
逆に、COUNTやCOUNTAなど範囲内の個数を求める関数は使えないので注意してください。
ショートカットキーが便利
ARRAYFORMULA関数にはGoogleが独自のショートカットキーを設定しています。
セルで関数を入力中に、以下のショートカットキーを試してみてください。
Windows:Ctrl+Shift+Enter
冒頭に「ARRAYFORMULA」が追加されます。あとは通常の関数の対象セルを範囲にすれば配列関数の完成となります。少し慣れれば簡単に使いこなせるようになります。
せっかく効率良くするためにこの関数を用いるのでぜひショートカットキーも活用していきましょう。
詳しくはGoogleヘルプページでもご確認いただけます。
https://support.google.com/docs/answer/3093275?hl=ja
ARRAYFORMULA関数のまとめ
いかがだったでしょうか?
少し難しい関数ではありますが、慣れれば簡単に使えるようになります。
特に対象セルの指定を範囲にするところがミソです。
Googleスプレッドシートはデータ量や関数が多くなると重くなったりしますので、こういった配列関数を駆使して快適な集計生活を送りましょう!