- ベストアンサー
COUNTIF?
A列に2007年の日付を"2007/05/02"という風に表示させています。 その中から4月分のデータの個数だけを抽出したいので、 =COUNTIF(A2:A84,"07/04/*") と式を作ってみたのですが、"0" と表示してしまいます。 COUNTIFではワイルドカードを使えるはずなのに、なぜでしょうか? 特にCOUNTIFにこだわっているわけではないので、他の式でも できるのでしたら、是非教えてください。 よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
日付セルが文字列でない内部値の為、COUNTIF関数のワイルドカード適用されません。 次の関数は如何でしょうか。 =SUMPRODUCT((MONTH(A2:A84)=4)*1)
その他の回答 (3)
- mshr1962
- ベストアンサー率39% (7417/18945)
=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") とした方がいいでしょう。
お礼
丁寧に教えていただき、ありがとうございました! 早速やってみます♪
- merlionXX
- ベストアンサー率48% (1930/4007)
> 式を試しに貼り付けてみましたが、"00/02/09" と表示しました。 そのセルの書式が日付になってませんか?数値に直してみてください。 > B列が増設と新設で、C列がサイドプレートの4月のデータだけを抽出する式は、どうしたらよいのでしょうか? ちょいと長くなりますが・・・。 =SUMPRODUCT((MONTH(A2:A84)=4)*(B2:B84="増設")*(C2:C84="サイドプレート"))+SUMPRODUCT((MONTH(A2:A84)=4)*(B2:B84="新設")*(C2:C84="サイドプレート"))
お礼
この式を使ったら、計算できました!! 本当にありがとうございました!
- zap35
- ベストアンサー率44% (1383/3079)
2007/05/02のような日付のデータはEXCEL内部ではシリアル値(書式を標準にしたときに表示される値)と呼ばれる整数値で持っています。 ですから表示形式に対しての"07/04/*"のようなワイルドカードは使用できません。 =COUNTIF(A2:A84,"<2007/5/1")-COUNTIF(A2:A84,"<2007/4/1") ならば4月のデータ個数を取得できます。
補足
式を試しに貼り付けてみましたが、 "00/02/09" と表示しました。 なぜでしょうか?
補足
見事にできました! それで、もう一つお聞きしたいのですが、 B列に"増設" "改造" "新設" "修理" C列に"サイドプレート" "OE" とそれぞれどれかが表示してあって、 B列が増設と新設で、C列がサイドプレートの 4月のデータだけを抽出する式は、どうしたらよいのでしょうか? ご回答、お待ちしています。