• ベストアンサー

エクセル 関数 複数条件

データーの集計を 関数かマクロでしたいのですが例えばこのようなデーターが ある場合は自動集計出来ますか? 日付は入力して、その期間だけ集計したいです。 A     B    C   D   E 2009/2/1 2009/2/28 ←日付は自分で入力 項目   A社   B社  C社  D社 鉛筆 紙 赤鉛筆 : : データーはSHeet1にあり 日付を入力すると自動計算されるようにしたいです。 ちなみに データーのSheetには A      B   C   2000/2/14  C社  鉛筆 2000/2/12  B社  赤 2000/2/11  C社  鉛筆 この場合 A     B    C   D   E 2009/2/1 2009/2/28 ←日付は自分で入力 項目   A社   B社  C社  D社 鉛筆        2←と自動計算させたい!! 紙 すいません!関数かマクロを 教えていただきませんか?

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

  • ベストアンサー
  • CMLT
  • ベストアンサー率40% (143/357)
回答No.5

>本番用のものを使用すると出来ません!なぜでしょうか? どううまくいかないのか、具体例がないと回答のしようがありませんが…

pop2003
質問者

お礼

ありがとうございました! DATAはマクロで打ち込んでいるので 形式が変わっていたためと 思われます! すいませんでした。

その他の回答 (4)

  • CMLT
  • ベストアンサー率40% (143/357)
回答No.4

=SUMPRODUCT((データ!$E$2:$E$100>=$D$2)*(データ!$E$2:$E$100<=$G$2)*(データ!$B$2:$B$100=F$4)*(データ!$F$2:$F$100=$C5)) >上手くいきません!どうしてでしょうか? データシートのE列に日付、B列に集計シートの4行目で参照する項目名、F列に集計シートのC列で参照する項目名、となっていることを確認してください。 添付画像の例ではSheet2のF5セルに =SUMPRODUCT((データ!$E:$E>=$D$2)*(データ!$E:$E<=$G$2)*(データ!$B:$B=F$4)*(データ!$F:$F=$C5)) が入っており、D5~G6までコピーです。

pop2003
質問者

補足

すいません! 教えていただいた通りは 出来るんですが いざ!本番用のものを使用すると出来ません! なぜでしょうか?

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.3

>$A:$Aだとエラー表示になってしまいます。 ⇒配列数式なので列指定はできませんので、ほぼ全体とするならば、仮にA列ならばA2:A65536として下さい。 >ちなみにこれが本番用にした関数ですが上手くいきません!どうしてでしょうか? ⇒結果が「0」となるようでしたら、項目名称や社名の文字列をご確認ください。(スペース混入や半角・全角等)

pop2003
質問者

お礼

ありがとうございました!

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.2

一例です。 データシートをSheet1として、Sheet2のA1,B1に抽出範囲日付、A3以下に抽出項目名は手入力として、B3に次の数式を設定、縦横にコピーして下さい。 因みにデータシートのA列日付の年が2000年となっているが2009年の誤りとしています。 =SUMPRODUCT((Sheet1!$A$1:$A$10>=$A$1)*(Sheet1!$A$1:$A$10<=$B$1)*(Sheet1!$B$1:$B$10=B$2)*(Sheet1!$C$1:$C$10=$A3))

pop2003
質問者

お礼

=SUMPRODUCT((データ!$E$2:$E$100>=$D$2)*(データ!$E$2:$E$100<=$G$2)*(データ!$B$2:$B$100=F$4)*(データ!$F$2:$F$100=$C5)) すいません! ちなみにこれが本番用にした関数ですが 上手くいきません!どうしてでしょうか? サンプルでは上手くいきました! 日付はD2とG2です。部署がF4、項目がC5ですが なぜ上手くいかないのでしょうか?

pop2003
質問者

補足

ありがとうございます! $A$1:$A$10だと 10行のデーターしかとれないですよね データーがこの先にあると 困るので 行を固定したいのですが $A:$Aだとエラー表示になってしまいます。 A列全て検索させたいのですが・・教えてください。

  • CMLT
  • ベストアンサー率40% (143/357)
回答No.1

例えば、 質問のA社、鉛筆がB3セルとして、 B3セルに =SUMPRODUCT((Sheet1!$A:$A>=$A$1)*(Sheet1!$A:$A<=$B$1)*(Sheet1!$B:$B=B$2)*(Sheet1!$C:$C=$A3)) 他全てにコピー。 EXCEL2007なら新関数もあり。 =COUNTIFS(Sheet1!$A:$A,">="&$A$1,Sheet1!$A:$A,"<="&$B$1,Sheet1!$B:$B,"="&B$2,Sheet1!$C:$C,"="&$A3)

pop2003
質問者

お礼

ありがとうございます!ちなみに A列は固定したいのですが $A:$Aだとエラー表示されてしまいますなぜでしょうか?

関連するQ&A