複数の条件を満たすセルを数える

条件を満たすセルを数える - biochem_fan's note で、Excel や Calc で COUNTIF 関数を使って条件を満たすセルを数える方法を説明した。では、複数の条件を満たすセルを数えるにはどうすればよいのか。Excel の場合は COUNTIFS 関数があるが、Calc には存在しない。

そこで、SUMPRODUCT 関数を使って

SUMPRODUCT((B1:B100<>"0")*(B1:B100<>A1))

のようにする。Excel の数式文法的にどういう説明されるのか正直よく分からないが、() の中が [T, F, T, F, T, F, ... ] とか [T, T, T, F, F, F, ... ] のような真偽値ベクトルへ評価され、それが * で AND 演算されて [T, F, T, F, F, F, ...] のようになり、計数されるらしい。

なお、Calc では

SUMPRODUCT(B1:B100<>"0", B1:B100<>A1)

のような書き方も可能だが、これは Excel では動かないので注意が必要だ。