• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルでデータ抽出で集計をしたいのですが。)

エクセルでデータ抽出・集計する方法とは?

このQ&Aのポイント
  • エクセルでデータ抽出・集計する方法について説明します。
  • エクセルの表形式にデータが入力されており、それを集計する方法を解説します。
  • 特定の項目をまとめて金額を算出する際、消費税を抜いた金額の合計を表形式で表示する方法について解説します。

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

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

No.1です! 補足を読むのが遅くなって申し訳ございません。 >オーダーの番号をべた打ちで入れると右に金額がぱっと出るようにしたいので・・・ とあるのですが、Sheet2のB列にオーダー(番号)を入力した場合のみ、データが表示できれば良い!ということですかね? 一応そういうことだとして・・・ もしそうであればSheet1の作業用の列は必要ありません。 一つの顧客に対してオーダーは必ず決まった一つの番号とします。 Sheet2にすぐに数式を入れれば大丈夫だと思います。 まず、Sheet2のA2セルには =IF(B2="","",INDEX(Sheet1!A:A,MATCH(B2,Sheet1!B:B,0))) という数式を入れオートフィルで下へずぃ~~~!っとコピー! そしてG2セルには =IF(B2="","",SUMPRODUCT((Sheet1!$B$2:$B$1000=B2)*(Sheet1!$E$2:$E$1000="")*(Sheet1!$G$2:$G$1000))) という数式を入れ、これもオートフィルで下へコピー! これでSheet2のB列にデータを入力すればA列の「顧客名」とG列の「金額」が表示されると思います。 今回も外していたらごめんなさいね。m(__)m

gooryogoo
質問者

お礼

お礼が遅くなってすみません。 なんとかうまくいきました。 ありがとうございました。 助かりました。

その他の回答 (1)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんにちは! 一例です。 ↓の画像のようにSheet1に作業用の列を2列設けています。 作業列1のH2セルに =IF(OR(B2="",COUNTIF($A$2:A2,A2)<>1),"",ROW()) 作業列2のI2セルに =IF(B2="","",IF(A2="",I1,A2)) という数式を入れ、H2・I2セルを範囲指定しI2セルのフィルハンドルで下へずぃ~~~!っとこれ以上データがない!というくらいまでコピーしておきます。 そして、Sheet2のA2セルに =IF(COUNT(Sheet1!$H:$H)<ROW(A1),"",INDEX(Sheet1!A:A,SMALL(Sheet1!$H:$H,ROW(A1)))) として隣のB2セルまでオートフィルでコピーし、そのまま下へコピーします。 最後にG2セルに =IF(A2="","",SUMPRODUCT((Sheet1!$I$2:$I$1000=A2)*(Sheet1!$E$2:$E$1000="")*(Sheet1!$G$2:$G$1000))) という数式を入れオートフィルで下へコピーすると画像のような感じになります。 尚、Excel2007をお使いのようなのでSUMIFS関数が使えるはずですが、とりあえず当方使用のExcel2003での方法です。 以上、参考になれば良いのですが・・・m(__)m

gooryogoo
質問者

補足

すみません、数式を打ち込んでみて なんとなく、ニュアンスはわかってきて・・・ かなりの時間、画面とにらめっこしてるのですが、 Sheet2のA2セルに =IF(COUNT(Sheet1!$H:$H)<ROW(A1),"",INDEX(Sheet1!A:A,SMALL(Sheet1!$H:$H,ROW(A1)))) と打ち込むと すでに値がでることになりませんか? オーダーの番号をべた打ちで入れると右に金額がぱっと出るようにしたいので、 べた打ちの値を見に行って金額がでる様な数式にしないとならないですよね? 凄く近づいたなと思ってるのですが・・・ どうでしょうか?

関連するQ&A