- ベストアンサー
《エクセル2000》複数条件の個数カウント
こんにちは。 A列とB列に、それぞれ任意の数字が入っているのですが、A列とB列に同じ数字が入っている行の数をカウントするにはどうしたらいいでしょうか… ネット検索すると、似て非なる事例はたくさんみつかるのですが、この条件の例が見つけられず、困っています。 よろしくお願いいたします。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
=SUMPRODUCT(ISNUMBER(A1:A100)*(A1:A100=B1:B100)) で1~100行目までの件数がカウントできます。
その他の回答 (5)
- mshr1962
- ベストアンサー率39% (7417/18945)
#1のmshr1962です。 SUMPRODUCT関数自体は配列の積の和を求める関数ですが 配列を条件式にすることでCOUNTIFやSUMIFの代用ができます。 しかも、複数の条件を設定できるので覚えておくと便利です。 =SUMPRODUCT(ISNUMBER(A1:A100)*(A1:A100=B1:B100)) の場合は (A列が数値、A列とB列が同じ)条件のAND(*)結合になります。 結果として TRUE(1)*TRUE(1)=1 TRUE(1)*FALSE(0)=0 FALSE(0)*TRUE(1)=0 FALSE(0)*FALSE(0)=0 としてカウントするので件数になります。 上記でB列の数値の計が必要なら =SUMPRODUCT(ISNUMBER(A1:A100)*(A1:A100=B1:B100)*(B1:B100)) で集計できます。 OR条件の場合は"*"の変わりに"+"にしてください。
お礼
なるほど、アスタリスクは「×」ではなく「and」の意味だったのですね。 TRUEとFALSEの部分は知っていたので、これですっきりしました。 本当にありがとうございました。
- SAKURAMYLOVE
- ベストアンサー率30% (162/533)
普通の関数と、配列数式を利用して、 =COUNT(IF(A1:A10=B1:B10,)) を入力し、Ctrl+Shiftを押しながら、Enter でもokです。
お礼
こんにちは、こちらでも出ますね。 ただ、質問に「両方のセルが空白の場合はカウントしない」というのを書き忘れてしまいまして…すいません! でも、今後の参考にさせていただきます。
=COUNT(IF(A1:A6=B1:B6,A1:A6)) で配列数式(Ctrl+ShiftでEnter) なんてのも、どーでしょうか?!
お礼
こんにちは、こちらでも出ますね。 ただ、質問に「両方のセルが空白の場合はカウントしない」というのを書き忘れてしまいまして…すいません! でも、今後の参考にさせていただきます。
- kozo_k
- ベストアンサー率29% (55/188)
ちょっとズルをして下のようにしたらどうでしょうか。 A列 B列 C列 1 1 1 =if(A1=B1,1,0) →C列に1が入る (2から9省略) 10 1 3 =if(A10=B10,1,0) →C列に0が入る 11 =sum(C1:C10)
お礼
こんにちは、こちらでも出ますね。 ただ、質問に「両方のセルが空白の場合はカウントしない」というのを書き忘れてしまいまして…すいません! でも、今後の参考にさせていただきます。
- misatoanna
- ベストアンサー率58% (528/896)
方法はいろいろあるのでしょうけど、次の式ではいかがでしょうか。 =SUMPRODUCT(IF(A1:A20=B1:B20,1,"")) で [Ctrl]と[Shift]を押しながら[Enter]
お礼
こんにちは、こちらでも出ますね。 ただ、質問に「両方のセルが空白の場合はカウントしない」というのを書き忘れてしまいまして…今回は両方のセルが空白という例外があるのです、すいません! でも、今後の参考にさせていただきます。
補足
すごい!出ました! でも、どうしてですか? SUMPRODUCTは、合計を出す関数ですし、ISNUMBERは数字がどうかをチェックする関数ですのに…