• ベストアンサー

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/17068)
回答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

  • COUNTIF関数について

    タイトルの件についてご助言をお願いします。 エクセル表でいくつかシートがあって、例えば各シートの同じセル番号(例えば3枚のシートのA1のセルとして)にある”○”の数を集計したいとき、COUNTIF関数で次のように入力しました。 =COUNTIF(sheet1:sheet3!A1,"○") ところが、VALUEエラーが出て、集計してくれません。同じシート内でCOUNTIFで”○”の数を計算するのはすんなりできています。(例えば、=COUNTIF(A1:A5,"○"))この関数ではシートごとの集計はできないのでしょうか?ほかの関数を使うのでしょうか?集計する方法をご存知の方ご教示ください。

  • エクセル SUMIF関数

    SUMIFS関数で行き詰っています。ご教授願います。  A   B  C  D  ・・・AE AF AG・・・・・ 1    4月4月4月・・・・・・・・・・・・・5月・・・・←関数用 2    4/1 4/2 4/3・・・4/30 合計 5/1・・・6/30 3北海道 3  0  1 4東京  0  2  5 5東京  4  1  0 6神奈川 1  7  0 という表から下記の別表のように月毎・県毎の集計をしたいのですが、 現在は月毎に1列合計列を作成し、そこを使ってSUMIF関数で集計しています。 別表  A   B  C  D 1    4月 5月 6月 2北海道 4 3東京  12 4神奈川 8 合計行をなくし、SUMIFS関数で集計はできないものでしょうか? うまくいかない現在のSUMIFS関数は下記です。(恥ずかしい) SUMIFS(B3:XX6,A3:A6,別表A1,B1:XX1,別表B1) ※北海道 4月を集計 これでは「#VALUE!」です。 今まで通り月毎にSUMIFで集計するのは手間なので、どなたかご教授願います。

  • excel countif関数の動作について

    excelのcoutif関数を使用して300行ぐらいの文字列が入った列から特定の文字列の個数をカウントさせているのですがなぜかうまくヒットしてくれません。=countif(B4,$D$3:$D$303)と入力 して300行ぐらいコピーしたのですが、結果が”0”となってしまいます。ところが、カウントしている文字列がD3:D303の中にあることは目視で確認できます。exclのサーチコマンドでもヒットします。カウントする文字列とカウントされる文字列をif文で比較してみても同じものだと認識されるようです。何が原因でカウントされないのかよくわかりません。countif関数 を使用するうえで特定の条件があるのでしょうか?d3:d303のデータはソートしています。

  • ExcelのCountif関数の条件に関数を使いたい

    Excel2002のCountif関数の条件に関数を使用することは可能でしょうか? 今日と同じ日付のセルの数をカウントしたく、以下のように記述したのですが、カウントされませんでした。 =COUNTIF(H1:H28,"=today()") 条件を日付で記述すればカウントされるので、セルの値は正しく入力されています。 よろしくお願いします。

  • COUNTIF関数(Excel2013)

    A列に日付を"2014/04/09"の形式で入力しています。 COUNTIF関数を使って"2014/04"をカウントしたいのですが条件に"2014/04"と入力しても "2014/4"で認識されてカウント出来ません。 詳しい方、ご教示お願いします。

  • Excelの関数を教えてください

    初めまして。よろしくお願いします。 関数を使って、以下のようなデータを作成することができれば、 その関数を教えてください。 Sheet1には次のように入力されています   A       B 1 日付      金額 2 2010/1/1 500 3 2010/2/5  300 4 2010/1/23 10000 5 2010/2/1  200 ・ ・ ・ A列に日付、B列に金額が入力されていて、行は決まっていません。 これをSheet2に集計したいのですが、B2~B13に関数を使ってできますか? Sheet2   A     B 1 月    金額 2 1月 3 2月 4 3月 ・ ・ ・ 13 12月 14 合計 Excelがわからなくてこまっています。詳しい方、ぜひ教えてください。 よろしくお願いします。

  • Excel 関数でcountifの複数条件

    Excelで条件にあった個数をカウントする関数はcountifですが、 複数の条件にあった個数をカウントする場合、countifの式はどうすればよいのでしょうか。 例えば A列の1行から20行で"○"が入っている個数のカウントは =countif(a1:a20,"○")ですが A列の1行から20行で"○"が入っていて、なおかつ B列の1行から20行に"1"が入っている個数のカウントを知りたいです。 =countif(a1:a20,"○")and(b1:b20,"1")ではないですよね。 よろしくご教授願います。

  • countifの複数条件

    添付ファイルのような excelの表があります。 B列(日付)とC列の複数でそれぞれ条件を定めて、件数をカウントする関数を組みたいのですが上手く行きません。 作業列はもうけず、カウントできる関数をご教授下さい。 【複数条件は下記です】 (1)B列条件 2010/2/6以上、2010/2/16以下 (2)C列条件 B よろしくお願いします。

  • エクセルの関数で困っています!

    エクセルの関数について困っています。 現在で仕事で下記のような表を作成しています。 日付 品名  区分 個数  価格  合計 1/10 りんご  1  3  100 300 1/23 ばなな  2  2  200 400 2/20 りんご  1  2  100 200 この表でりんごはりんご、ばななはバナナで集計するには SUMIF関数が必要とのことなので区分分けして集計してます。 さらにこれを日付分けして集計したいんです。 次にこんな表を作ろうと思っています。 月日 りんご合計 ばなな合計 1月  300  400 2月  200 3月 4月  そのためにはSUMIF関数にさらにSUMIF関数を重ねて書かないとダメかな?と思っているんですが、どのような数式になるかわかりません。 区分分けしてかつ日付分けして集計したいのです。 この表を例にとって数式を教えていただけると助かります。 どうかよろしくお願い致します。

  • Countifで複数シートを対象範囲にすることはできるか

    表題の件方法ありませんか? できなければあきらめてAccessでやります。 例 シートA、シートBにある「日付」項目(D列2~100) の中で9月17日のレコード数を集計する。。 なお、ひとつのシートでまとめればいいではないかと 思いますが、Excelの限度(65536)を超えてしまうのでできません。シートごとに日付集計の表を作り、 それを3D集計で計算する方法を思い浮かべましたが、 それ以外の迂回手段ありませんか?

専門家に質問してみよう