• ベストアンサー

COUNTIF?

A列に2007年の日付を"2007/05/02"という風に表示させています。 その中から4月分のデータの個数だけを抽出したいので、 =COUNTIF(A2:A84,"07/04/*") と式を作ってみたのですが、"0" と表示してしまいます。 COUNTIFではワイルドカードを使えるはずなのに、なぜでしょうか? 特にCOUNTIFにこだわっているわけではないので、他の式でも できるのでしたら、是非教えてください。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.2

日付セルが文字列でない内部値の為、COUNTIF関数のワイルドカード適用されません。 次の関数は如何でしょうか。 =SUMPRODUCT((MONTH(A2:A84)=4)*1)

SYOUWA6
質問者

補足

見事にできました! それで、もう一つお聞きしたいのですが、 B列に"増設" "改造" "新設" "修理"  C列に"サイドプレート" "OE" とそれぞれどれかが表示してあって、 B列が増設と新設で、C列がサイドプレートの 4月のデータだけを抽出する式は、どうしたらよいのでしょうか? ご回答、お待ちしています。

その他の回答 (3)

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.4

=SUMPRODUCT((MONTH(A2:A84)=4)*((B2:B84="増設")+(B2:B84="新設"))*(C2:C84="サイドプレート")) または =SUMPRODUCT((MONTH(A2:A84)=4)*(RIGHT(B2:B84,1)="設")*(C2:C84="サイドプレート")) の方が短くて済みます。 元のデータの日付が複数年になるようなら (MONTH(A2:A84)=4) を (TEXT(A2:A84,"yymm")="0704") とした方がいいでしょう。

SYOUWA6
質問者

お礼

丁寧に教えていただき、ありがとうございました! 早速やってみます♪

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.3

> 式を試しに貼り付けてみましたが、"00/02/09" と表示しました。 そのセルの書式が日付になってませんか?数値に直してみてください。 > B列が増設と新設で、C列がサイドプレートの4月のデータだけを抽出する式は、どうしたらよいのでしょうか? ちょいと長くなりますが・・・。 =SUMPRODUCT((MONTH(A2:A84)=4)*(B2:B84="増設")*(C2:C84="サイドプレート"))+SUMPRODUCT((MONTH(A2:A84)=4)*(B2:B84="新設")*(C2:C84="サイドプレート"))

SYOUWA6
質問者

お礼

この式を使ったら、計算できました!! 本当にありがとうございました!

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.1

2007/05/02のような日付のデータはEXCEL内部ではシリアル値(書式を標準にしたときに表示される値)と呼ばれる整数値で持っています。 ですから表示形式に対しての"07/04/*"のようなワイルドカードは使用できません。 =COUNTIF(A2:A84,"<2007/5/1")-COUNTIF(A2:A84,"<2007/4/1") ならば4月のデータ個数を取得できます。

SYOUWA6
質問者

補足

式を試しに貼り付けてみましたが、 "00/02/09" と表示しました。 なぜでしょうか?

関連するQ&A