アプリ版:「スタンプのみでお礼する」機能のリリースについて

エクセル2010です。
A列のリストの中から、「B1またはC1のセル」と同一の名前がいくつあるか、という計算式を作りたいです。

複数条件ですから、COUNTIFS関数で、
=COUNTIFS(A:A,B1,C1)
としてみたのですが、これではエラーが出ます。

よく考えてみたら、「または」という、どちらかの条件が含まれるということですから、これでは駄目なようです。
そこで調べたところ(http://support.microsoft.com/kb/275166/ja)、こういう場合SUM(IF())を使うというのがわかり、

=SUM(IF((A:A=B1)+(A:A=C1),1,0))
としてみましたが、これでも結果がすべて0になってしまいます。

私は何か捉え違いをしているのでしょうか?
こういう条件の場合、どういう式にすればよいのでしょうか。
どうぞよろしくお願いします。

A 回答 (2件)

配列数式は列全体を配列とみなすことができません。



B1とC1が 添付図のように重ならないなら
=COUNTIF(A:A,B1)+COUNTIF(A:A,C1)
とか、(遊びで)
=SUMPRODUCT(COUNTIF(A:A,B1:C1))
など

重なるなら AND条件になるので COUNTIFSが使えると思います。
上記数式から、重なった部分を引けばよい
「エクセル2010、複数条件のセルを数える」の回答画像1
    • good
    • 0
この回答へのお礼

SUMPRODUCT関数でうまくいきました。
引くやり方はよくわからなかったので、また機会があれば調べてみようと思います。
ありがとうございました。

お礼日時:2013/01/20 09:57

エクセル2010では列:列の配列計算が出来ます。


ご質問のような計算をさせたいなら
=SUMPRODUCT((A:A=B1)+(A:A=C1))
のようにする事は出来ます。


#補足1
あなたの数式は間違っていませんが、
=SUM(IF((A:A=B1)+(A:A=C1),1,0))
と記入した後、必ずコントロールキーとシフトキーを押しながらEnterで入力しなければいけません。


もっとも、この式で計算できるなら
=COUNTIF(A:A,B1)+COUNTIF(A:A,C1)
=SUMPRODUCT(COUNTIF(A:A,B1:C1))
の方が遥かに簡単で、しかも安全かつ高速です。


#補足2
COUNTIFSは「かつ」の条件しか計算できません。
今回やりたかったように「または」で数えたいときは
=COUNTA(A:A)-COUNTIFS(A:A,"<>"&B1,A:A,"<>"&C1,A:A,"<>")
といった具合の、計算の工夫が必要です。
    • good
    • 0
この回答へのお礼

シフトとコントロールとエンターを、どういう時に押すのかよくわかりませんでした。最後に押すと{ }がついてしまいます。
SUMPRODUCT関数でうまくいったので、これでいこうと思います。
ありがとうございました。

お礼日時:2013/01/20 10:01

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!