• ベストアンサー

エクセルで年、月をカウントする

皆さんこんにちは。 エクセルに関して2つの質問があります。 【1】    A    B 1  山田  2003/10/5 2  佐藤  2003/11/6 3  鈴木  2005/7/22 4  岡田  2006/2/9 5  松本  2006/4/4    とあるとき 2003年のセルはいくつあるか? ~ 2006年のセルはいくつあるか? という年別での個数を C1 に出したいのです。 日付の表示はyyyy/mm/ddでお願いします。 また 2003年1月のセルはいくつあるか? ~ 2003年2月のセルはいくつあるか? など月別も D1 に出したいです。 C1、D1にどんな数式を入れればカウントできるでしょうか? 【2】 上記の場合、B列に並ぶyyyy/mm/ddの中から『オートフィルタ』を使い 2003年をすべて 2003年1月をすべて を出すとき、「オプションの抽出条件の指定」は 何を指定すればよいのでしょうか? 解法をご教示ください。マクロは分かりません。 どうぞよろしくお願い致します。

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

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

【1】2006年の個数をカウント =SUMPRODUCT((TEXT(A1:A100,"YYYY")="2006")*1) または =SUMPRODUCT((YEAR(A1:A100)=2006)*1) 2006年2月の個数をカウント =SUMPRODUCT((TEXT(A1:A100,"YYYY/MM")="2006/02")*1) =SUMPRODUCT((YEAR(A1:A100)=2006)*(MONTH(A1:A100)=2)*1)

snowflakes
質問者

お礼

zap35さん、迅速なご回答ありがとうございます。 =SUMPRODUCT((YEAR(A1:A100)=2006)*1) =SUMPRODUCT((TEXT(A1:A100,"YYYY/MM")="2006/02")*1) でうまくいきました。 SUMPRODUCTの使い方も初めて知り大変勉強になりました。 お世話になりました。

その他の回答 (2)

回答No.3

【1】 年毎の個数:[=COUNTIF(B:B,">=2003/01/01")-COUNTIF(B:B,">2004/01/01")] 月毎の個数:[=COUNTIF(B:B,">=2003/10/01")-COUNTIF(B:B,">2003/11/01")] 2003年の場合、2003/01/01以上の個数から2004/01/01以上の個数を引けば 2003年の個数が出ますよね。 【2】 上記と同様の考え方です。2003年を出すならば [2003/01/01 以上] AND [2004/01/01 より小さい] です。 月は最終日がまちまちなので「より小さい」にしています。

snowflakes
質問者

お礼

siddhaarthaさん、迅速なご回答ありがとうございます。 COUNTIFの使い方が大変勉強になりました。 また「個数を引いて出す」というのは目から鱗です。 恥ずかしながら気づきませんでした。 『オートフィルタ』の「より小さい」でもひざを打ちました。 まだまだ勉強不足です。 お世話になりました。

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

(1) =COUNTIF(範囲,"<"&"2003/2/1")-COUNTIF(範囲,"<"&"2003/1/1") 又は =SUM(IF((範囲>="2003/1/1"*1)*(範囲<="2003/1/31"*1),1)) としてCtrl+Shift+Enterで配列数式とする。 又は =SUM(IF(TEXT(範囲,"yyyymm")="200301",1)) としてCtrl+Shift+Enterで配列数式とする。 ※年別の場合は期間を1/1~12/31になるようにすればOK  TEXT関数の場合は=SUM(IF(TEXT(範囲,"yyyy")="2003",1))  TEXT関数の変わりにYEAR関数で数値の年度と比較でもOK ※種類が多い場合は変に関数使うより「データ」「ピボットテーブル」で「日付」をグループ化したほうが楽ですが... (2) 年の場合「2003/1/1」「以上」And 「2003/12/31」「以下」 月の場合「2003/1/1」「以上」And 「2003/1/31」「以下」 もっとも空いてる列に =TEXT(日付のセル,"yyyymm") としとけば単純に抽出できますが...

snowflakes
質問者

お礼

mshr1962さん 迅速で解りやすいご回答ありがとうございます。 COUNTIFやSUMでいろいろ悩んだのですが、これほどの多くの解法があったのですね。 まだまだ勉強不足です。 『オートフィルタ』の使い方は目から鱗です。 まったく気づきませんでした。お恥ずかしい・・・ お世話になりました。