これまでのところ、私はこれを持っています:
=COUNTIFS(A:A,"<"&C1, B:B, OR(">"&C2,"="&""))
OR と「=&」を除いてすべて正常に動作します。空白を適切にチェックしていないのか、ここで OR を使用すべきではないのかはわかりません。
単一の方法よりも良い方法があればCOUNTIFS()
教えてください
答え1
COUNTIFS() を完全にバイパスする別のアプローチを次に示します。
=SUMPRODUCT((A1:A10<C1)*((B1:B10>C2)+(B1:B10="")))
最も内側の括弧内の 3 つの式は論理値の配列を生成しますが、算術演算により、TRUE
とがFALSE
1 と 0 に変換されます。加算は のOR()
演算と同等であり、乗算は の演算と同等ですAND()
。
< C1
したがって、算術演算の結果は、A 範囲のどこにも 1 があり、B 範囲が空白かどちらかである配列になります> C2
。次に、SUMPRODUCT()
配列内の 1 を合計します。
ただし、最後の式では列 B 全体を参照することはできないため、状況に合わせて範囲を調整する必要があります。
答え2
後で振り返って理解しやすくなるように、最終的に 2 つの countif を合計しました。
=SUM(COUNTIFS(A:A,"<"&C1,B:B,">"&C2),COUNTIFS(A:A,"<"&C1,B:B,"="&""))