• ベストアンサー

列にセル値と同じ文字があればその行の個数を返す

セルM5に=IF(L5="","",SUMPRODUCT(($A$5:$A$11=L5)*MONTH($B$5:$E$11)=M$3)))を入力した結果指定範囲の個数2を示しM11まで順に12月のセル数を返しますが、N5セルに 同じようにIF(L5="","",SUMPRODUCT(($F$5:$F$11=L5)*MONTH($G$5:$J$11)=N$3)))を入力した場合なぜか1月の範囲内個数2ではなく空白を含めた全セル数4を返し以降も同じよう返します。他の月では問題ないのですが1月だけなぜか指定月の個数が帰りませんどなたか関数の解る方宜しくお願いします。

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

  • ベストアンサー
  • msMike
  • ベストアンサー率20% (364/1804)
回答No.2

N5: =SUMPRODUCT(($F$5:$F$11=$L5)*(MONTH($G$5:$J$11)=N$3)*($G$5:$J$11<>"")) とすればOKかな?

kuma0220
質問者

お礼

ありがとうございます。解決できました。

その他の回答 (3)

  • Chiquilin
  • ベストアンサー率30% (94/306)
回答No.4

あっと失礼しました。文字列になるので 「TEXT(日付セル&"","m")=セル&""」ですね。

  • Chiquilin
  • ベストアンサー率30% (94/306)
回答No.3

空白セルを「=A1」のように参照してみれば分かりますが 「0」が返るはずです。 シリアル値で「0」は「1900年1月0日」という架空の日付 になっていますから MONTH関数の結果としては「1」に なります。 だから私は「MONTH(日付セル)=セル」という式が嫌いです。 「TEXT(日付セル&"","m")=セル」とすれば空白セルは無視さ れるはずです。

  • msMike
  • ベストアンサー率20% (364/1804)
回答No.1

空白セルの一つ例えばセル J5 を考えます。 式 =J5=0 の戻り値は何ですか?そう、TRUE ですね。 つまり、空白セルは数値 0 に等しい。 次は、任意の空きセルに数値 0 を入力して、そのセルの書式を yyyy/m/d に設定してみてください。どう表示されましたか? 1900/1/0 ですね?つまり、0 は 1900年の1月なのです。Excel の弱点、盲点と言えます!

kuma0220
質問者

お礼

ありがとうございます。勉強になりました。

関連するQ&A