プロが教えるわが家の防犯対策術!

こんにちは。
A列とB列に、それぞれ任意の数字が入っているのですが、A列とB列に同じ数字が入っている行の数をカウントするにはどうしたらいいでしょうか…

ネット検索すると、似て非なる事例はたくさんみつかるのですが、この条件の例が見つけられず、困っています。

よろしくお願いいたします。

A 回答 (6件)

#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条件の場合は"*"の変わりに"+"にしてください。
    • good
    • 0
この回答へのお礼

なるほど、アスタリスクは「×」ではなく「and」の意味だったのですね。
TRUEとFALSEの部分は知っていたので、これですっきりしました。
本当にありがとうございました。

お礼日時:2004/08/26 12:38

普通の関数と、配列数式を利用して、


=COUNT(IF(A1:A10=B1:B10,))
を入力し、Ctrl+Shiftを押しながら、Enter
でもokです。
    • good
    • 0
この回答へのお礼

こんにちは、こちらでも出ますね。
ただ、質問に「両方のセルが空白の場合はカウントしない」というのを書き忘れてしまいまして…すいません!
でも、今後の参考にさせていただきます。

お礼日時:2004/08/26 11:54

=COUNT(IF(A1:A6=B1:B6,A1:A6))


で配列数式(Ctrl+ShiftでEnter)
なんてのも、どーでしょうか?!
    • good
    • 0
この回答へのお礼

こんにちは、こちらでも出ますね。
ただ、質問に「両方のセルが空白の場合はカウントしない」というのを書き忘れてしまいまして…すいません!
でも、今後の参考にさせていただきます。

お礼日時:2004/08/26 11:54

ちょっとズルをして下のようにしたらどうでしょうか。



 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)
    • good
    • 0
この回答へのお礼

こんにちは、こちらでも出ますね。
ただ、質問に「両方のセルが空白の場合はカウントしない」というのを書き忘れてしまいまして…すいません!
でも、今後の参考にさせていただきます。

お礼日時:2004/08/26 12:18

方法はいろいろあるのでしょうけど、次の式ではいかがでしょうか。



=SUMPRODUCT(IF(A1:A20=B1:B20,1,""))
で [Ctrl]と[Shift]を押しながら[Enter]
    • good
    • 0
この回答へのお礼

こんにちは、こちらでも出ますね。
ただ、質問に「両方のセルが空白の場合はカウントしない」というのを書き忘れてしまいまして…今回は両方のセルが空白という例外があるのです、すいません!
でも、今後の参考にさせていただきます。

お礼日時:2004/08/26 12:21

=SUMPRODUCT(ISNUMBER(A1:A100)*(A1:A100=B1:B100))


で1~100行目までの件数がカウントできます。

この回答への補足

すごい!出ました!
でも、どうしてですか?
SUMPRODUCTは、合計を出す関数ですし、ISNUMBERは数字がどうかをチェックする関数ですのに…

補足日時:2004/08/26 11:41
    • good
    • 0

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