PR

【Googleスプレッドシート】ArrayFormulaの使い方

01_スプレッドシート

結論
ArrayFormula (範囲指定した関数)
で指定した範囲まで関数が続きます

まずはこちらの関数をご覧ください

=if(C2="","",1)

とても通常の関数です。
これをB3、B4…と下に続けたい場合、関数を下に引っ張ることも手ですが、
こんなときにArrayFormulaを使ってみましょう
まずは実例です。

=ArrayFormula(if(C2:C="","",1))

ポイント①セル指定部分を関数を適用したい範囲にしよう

始めの例だと、C2=となっていましたが、ArrayFormulaの場合C2:Cとなっています。
これは、C2から始めて一番下まで関数を適用してね、ということです

ポイント②ArrayFormulaは最後にショートカットキーで入れ込もう

今回の例の関数を組むときの順序です
①=if(C2:C=””,””,1) とまずは記載する
②Shift + Alt(macはCommand) + Enter
 を同時に押すとArrayFormulaが入ります。

ポイント③COUNITFS、SUMIFSなどArrayFomulaが使えない関数もあります

これはなぜか。
そもそもArrayFormulaの指示が上記の例の関数だと
まずC2をみて判断して、次にC3を見て、次にC4を見て…
となっています。

一方、例えばCOUNTIFSの場合、仮に

=ArrayFormula(countifs("OK",C2:C))

と入力して、C列に1と記載されているセルの数を数えようと期待すると、結果は違って

こんなふうになってしまいます。
これはArrayFormulaの前提に立ち返ると、まずはC2を見てOKが入っているか確認し、その結果をC2に書き込み、次にC3に行って…
となるためです。

以上のように注意事項もありますが、基本汎用性のある便利な関数なので是非使ってみてください

コメント

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