• ベストアンサー

EXCELの関数(COUNTIF系?)

こんにちは。 以下の表で集計したいのですが、どうしてよいものやら・・・。ご存知の方、教えてください!  [日付]  [カテゴリ]  -------------------------------------------   12/1     A   12/1     B   12/1     B   12/1     A   12/1     B   12/2     A 上記の表で、12月1日のカテゴリA、Bはそれぞれ、 何件で、12月2日は・・・ というのを関数で集計することは 可能でしょうか?      結果として、    12/1  12/2 ・・・ -------------------------------------  A   XX件  XX件 ・・・ B   XX件  XX件 ・・・    という表にしたいと思います。 COUTIFを使用し、一つの条件でのカウントは クリアできたのですが、 (条件1)12月1日で, (条件2)カテゴリAのもの は何件か、という、 条件が二つ以上のものを関数で計算することは できますか? よろしくお願いします。

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

  • ベストアンサー
回答No.2

こんにちは。 データがA1:B10に入っているとすれば、 ---------------------------------------------------------- =SUMPRODUCT((A1:A10=DATEVALUE("2004/12/1"))*(B1:B10="A")) ---------------------------------------------------------- DATEVALUE("2004/12/1")の部分は集計表の12/1が入っているセル(F2とか)を直接指定してもかまいません。(同じく"A"の部分も) 適宜 $を付けて絶対参照にすれば、数式のコピーがしやすいでしょう。 たとえば、集計表の日付がF2、F3・・、カテゴリーがG1、H1・・に入っているとすれば、 G2に、 ------------------------------------------------ =SUMPRODUCT(($A$1:$A$10=$F2)*($B$1:$B$10=G$1)) ------------------------------------------------ として、以下数式をコピーすればいいと思います。

haruca-Re
質問者

お礼

ありがとうございます! 数式のコピーの仕方まで教えていただいて、大変助かりました。 SUMPRODUCT、初めて使います。ありがとうございました(^o^)

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

毎日のように同様の質問が出ます。 (1)ピボットテーブル (2)SUMPRODUCT (3)DSUM (4)配列数式 (5)VBA で出来ます。 (4)で回答します。 (例データ)A1:B 1/12/2004 A 1/12/2004 B 1/12/2004 B 1/12/2004 A 1/12/2004  B 2/12/2004  A 3/12/2004  A 1/12/2004  A 5/12/2004  A (2004/12/1のAの件数) 上記以外のセルに、 =SUM(IF(($A$1:$A$20=DATEVALUE("2004/12/1"))*($B$1:$B$20="A"),1,0)) といれて、SHIFT+CTRTL+ENTERキーを同じに押す。 (2004/12/2のAの件数) 上記以外のセルに、 =SUM(IF(($A$1:$A$20=DATEVALUE("2004/12/2"))*($B$1:$B$20="A"),1,0)) といれて、SHIFT+CTRTL+ENTERキーを同じに押す。 2004/12/1のAの件数) 上記以外のセルに、 =SUM(IF(($A$1:$A$20=DATEVALUE("2004/12/2"))*($B$1:$B$20="B"),1,0)) といれて、SHIFT+CTRTL+ENTERキーを同じに押す。 (結果) それぞれ3、1、3です。

haruca-Re
質問者

お礼

色々な方法があるのですね! ありがとうございました。 とても参考になりました(^o^)

  • neKo_deux
  • ベストアンサー率44% (5541/12319)
回答No.1

ベタな方法ですと、作業列を使って、  [日付]  [カテゴリ] [12/1かつA] -------------------------------------------   12/1     A     TRUE   12/1     B     FALSE   12/1     B     FALSE   12/1     A     TRUE となるように、 =AND([日付]=12/1, [カテゴリ]=A) のような式を入れ、[12/1かつA]の列のTRUEの数をカウントするとよろしいです。 他にも、作業列を使わない、配列数式を利用する手順もありますので、こちらも研究すると良いです。

haruca-Re
質問者

お礼

早速、ありがとうございます! ふむふむ、なるほど・・・。 こういう方法でカウントしていく方法があるのですね。ありがとうございました(^o^)

関連するQ&A