見出し画像

Arrayformula関数でAND・ORを使う

問題点

Googleスプレッドシートの配列関数であるArrayformula関数

A2:AといったようなA2以下全部みたいな、範囲が固定化されていない指定方法と条件判定を組み合わせるとオカシナ挙動になります(固定化されていれば、以下の数式でも問題なく計算されます)。

例えば以下のような場合、想定した計算がされない上に、0が下の方にずーっと並びます

=arrayformula(if(or(A3:A="A社",A3:A="B社"),B3:B+C3:C,B3:B))
計算は間違ってるし、0が続くオカシナ結果

このケースの場合、AND関数やOR関数を使うのではなく、+記号や*記号を使うことで、ANDとORの代わりを務める事ができ、正しい想定した結果が返ってくるようになります。ちなみに、数式上では+はOR、*はANDという意味になり、SUMPRODUCT関数でも見かける方式です。

詳細や応用編はこちら

今回の手法やArrayformulaの応用手法については以下のエントリーにまとめてあります。サンプルのスプレッドシートも用意してありますので、すぐに学習して、光速で身につきます。

#GAS #Googleスプレッドシート #関数 #数式


この記事が気に入ったらサポートをしてみませんか?