• 締切済み

期間毎に1~5の数字が何件あるかカウント

教えてください。 A列に 1~5の数字が入っています。 C列に H24.4.1~H25.3.31の日付が入っています。 4月に 1が○件、2が○件・・・・ 5月に 2が○件、2が○件・・・・ というふうに調べたいです。 ピボットデーブルは使わないでとの指定なので 関数でカウントしたいです。 こちらエクセル2003です。 よろしくお願いします。

みんなの回答

noname#204879
noname#204879
回答No.3

添付図参照 F2: =SUMPRODUCT(($C$1:$C$365>=$E2)*($C$1:$C$365<=EOMONTH($E2,0))*($A$1:$A$365=F$1)) ただし、yyyy/mm に書式設定した範囲 E2:E13 は上から、2012/4/1、2012/5/1、2012/6/1、・・・、2013/3/1 を入力しています。

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.2

D2からD6に1から5を記入 E1に4と記入,右に5,6,…2,3を記入 E2に =SUMPRODUCT(($A$2:$A$1000=$D2)*(MONTH($C$2:$C$1000)=E$1)) と記入,右にコピー,下にコピー。 このぐらいの計算量であれば,遅くなったりパソコンに負担がかかることはありません。 #参考 今回は利用できませんが,Excel2007以降であればCOUNTIFS関数を使い,より安全に計算できます。

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.1

データ数が多くなってもパソコンに負担の掛けない方法は配列数式などを使わずに作業列を設けて対応することです。 A列からC列でデータは1行目から下方にあるとしてD1セルには次の式を入力して下方にドラッグコピーします。 =IF(A1="","",A1*100+MONTH(C1)) そこでお求めの表ですがF2セルには4月なら4と入力して下方には3まで入力します。 G1セルからK1セルには1から5までを入力します。 G2セルには次の式を入力してK2セルまでドラッグコピーしたのちに下方にもドラッグコピーします。 =IF(COUNTIF($D:$D,COLUMN(A1)*100+$F2)=0,"",COUNTIF($D:$D,COLUMN(A1)*100+$F2))