Excelの関数についてご質問です。
(環境:Windows XP オフィス2003です。)

カテゴリ1 | カテゴリ2 | 数値1
アメリカ | ニューヨーク | b
日本 | 東京 | d
中国 | 北京 | d
日本 | 京都 | a
アメリカ | ワシントン | b
イギリス | ロンドン | a
アメリカ | ニューヨーク | c
中国 | 上海 | c
日本 | 東京 | b
日本 | 東京 | c

Excelでこのようなリストが何千行もあるときに、
1つのセルに関数を指定して、「日本」の「東京」の「a」の数をカウントしたい場合はどのように指定したら良いでしょうか?

私自身では下記のような関数を組みましたが、
=IF(AND(Sheet1!$A:$A="日本",Sheet1!$B:$B="東京"),COUNTIF(Sheet1!$C:$C,"a"),NA())
これではCOUNTIF単体で指定した値と同じ値が返ってきてしましました。
知識が乏しく、申し訳ありませんが、ご教授頂ければ幸いです。

※マクロを走らせることも考慮しましたが、出来るだけ関数で取得したい状況にあります。解決が不可能な場合はマクロ使用を検討いたします。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

ご提示の例では、「日本」の「東京」の「a」の数はゼロですが・・・。


一応、以下のような数式で求められます。

=SUMPRODUCT((A2:A12="日本")*(B2:B12="東京")*(C2:C12="a"))
    • good
    • 0
この回答へのお礼

すみません。存在してない「a」を指定してしましました。
>>=SUMPRODUCT((A2:A12="日本")*(B2:B12="東京")*(C2:C12="a"))
こちらありがとうございます。即解決しました!
範囲の指定でA2:A12このように指定すれば出せるのですね。
実は列で指定していてエラーが出ていました。
「A:A」この指定ではだめなものもあるのですね。
もしお手数でなければこちらの理由もご教授いただけないでしょうか?
お手数でしたら、参考サイトのリンクだけでもいただければと思います。
本当にありがとうございました。

お礼日時:2009/05/12 16:23

補助列を使用してみては如何でしょうか?


空いている列(D列)に
=カテゴリ1&カテゴリ2&数値1
仮にD1へ =A1&B1&C1 を、オートフィルで下へ

=COUNTIF(D:D,"日本"&"東京"&"a")
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
こちらの方法では確実簡単で、分かりやすいですね。
参考にさせていただきます。

文字列をつなげて完全一致のカウント方法。
貴重なご意見ありがとうございました。
エクセルっていろいろと奥が深いですね。f(^-^;)

お礼日時:2009/05/12 17:42

はい、SUMPRODUCT関数は残念ながらA:Aのような列指定は出来ません。


理由はわかりません。( ̄~ ̄;)う~ん

=SUMPRODUCT((A2:A65536="日本")*(B2:B65536="東京")*(C2:C65536="a"))
のようにすれば実質的に項目行を除く列全部を対象にできます。
でも、A1:A65536の指定はできません。
    • good
    • 0
この回答へのお礼

>>はい、SUMPRODUCT関数は残念ながらA:Aのような列指定は出来ません。
>>理由はわかりません。( ̄~ ̄;)う~ん

すみません。御忙しいところ、ありがとうございます。
大変勉強になります。お手数お掛けしました。

行数が不確定の場合には下記のご回答を参考にさせていただきます!
=SUMPRODUCT((A2:A65536="日本")*(B2:B65536="東京")*(C2:C65536="a"))
ありがとうございました。

お礼日時:2009/05/12 17:40

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


このカテゴリの人気Q&Aランキング