• ベストアンサー

エクセルでデータからの選択法

例えばこんなデーターがあるとします サイズ 色 形 金額 大 白 丸 180 大 白 角 160 大 黒 丸 160 大 黒 角 140 小 白 丸 130 小 白 角 110 小 黒 丸 110 小 黒 角  90 金額を表示する為の入力として サイズ 色 形 金額 ※  ※ ※ XXX ※  ※ ※ XXX ※  ※ ※ XXX という風に続けて金額を表示させたいのです。 1行だけならDSUMで出来るのですが… どうかよろしくお願いします

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

  • ベストアンサー
  • EL-SUR
  • ベストアンサー率76% (83/108)
回答No.3

>1行だけならDSUMで出来るのですが… ★ DSUM関数でもできますよ! ***** 元データが A列( サイズ )から D列( 金額 ) 1行目が見出し、データが2行目から100行目の範囲内にあるとします。 集計表が G列( サイズ )から J列( 金額 ) これも1行目が見出しで、2行目以下にサイズ~形は入力済だとします。 ***** ■ DSUM関数 J2セル =DSUM(A$1:D$100,D$1,G$1:I2)-SUM(J$1:J1) または =DSUM(A:D,D$1,G$1:I2)-SUM(J$1:J1) 下にフィルコピーします。 ついでに他の方法も ■ 作業列&SUMIF関数 E2セル( 作業列 ) =A2&B2&C2 データ最終行までフィルコピー J2セル =SUMIF(E$2:E$100,G2&H2&I2,D$2:D$100) または =SUMIF(E:E,G2&H2&I2,D:D) 下にフィルコピーします。 ■ SUMPRODUCT関数( #1の mike_gさんの方がいいと思いますが ) J2セル =SUMPRODUCT((A$2:A$100&B$2:B$100&C$2:C$100=G2&H2&I2)*1,D$2:D$100) 下にフィルコピーします。 ◇ いずれも範囲は適宜変更してください。 ◇ SUMPRODUCT関数はデータ量が多いと重くなります( 処理が遅くなる )。 ◇ 画面上の数式は見づらいかと思いますので、お試しになる場合は上の数式をコピー&ペーストしてください。( 形式を選択して貼り付け~テキストで ) ■ ピボットテーブル マウス操作だけで簡単にできます。 集計用にサイズ・色・形などをあらかじめ入力しておく必要もありません。 ↓を参考にしてください。 ピボットテーブルって何? どうやってつくるの? http://www.microsoft.com/japan/office/experience/workstyle/tips/excel/tips12.mspx http://www11.plala.or.jp/koma_Excel/contents3/mame3026/mame302601.html ご質問の場合は「列のフィールド」には何もドラッグしません。 「ここにデータアイテムをドラッグします」のところに「金額」をドラッグしてください。

wantaro1
質問者

お礼

回答ありがとうございます。 DSUMで-の演算が出来るとは思いませんでした。 ただこの方法では、半端な条件を打ち込むと、その条件にあてはまる 全ての合計が出てしまいました。 作業列&SUMIF関数ではバッチリ出来ました。ありがとうございました。改めてexcelの深さを知ることが出来ました。

その他の回答 (3)

noname#204879
noname#204879
回答No.4

[No.1回答に対するお礼]に対するコメント、 「DSUMでのやり方」の件、了解しました。DSUM を使うなら次のようにすれば可能です。    A   B  C  D 12 サイズ 色 形 金額 13 大   黒 角  140 14 サイズ 色 形   0 15 小   黒 丸  110 16 サイズ 色 形   0 17 大   白 角  160 D13: =DSUM(A$1:D$9,4,A12:C13) 14行目と16行目は、セル D13 を下方に複写する前に あるいは 後で[非表示]にするのです。    A   B  C  D 12 サイズ 色 形 金額 13 大   黒 角  140 15 小   黒 丸  110 17 大   白 角  160

wantaro1
質問者

お礼

再度の回答ありがとうございます。 一行おきに項目を設けるのは同じように考えたのですが、 あまりにも不恰好なので却下してました。 項目の行を非表示にするのは思いつきませんでした。 これならDSUMでも出来ますね。

回答No.2

> どのようにやるのか、参考のために、教えてください。 D13=DSUM($A$1:$D$9,$D$1,A12:C13) D14,D15にコピーしても正しく金額が計算できないので、 お困りだったのでしょう。

wantaro1
質問者

お礼

回答ありがとうございます。 まさにその通りです。

noname#204879
noname#204879
回答No.1

   A   B  C  D 1  サイズ 色 形 金額 2  大   白 丸  180 3  大   白 角  160 4  大   黒 丸  160 5  大   黒 角  140 6  小   白 丸  130 7  小   白 角  110 8  小   黒 丸  110 9  小   黒 角  90 10 11 12 サイズ 色 形 金額 13 大   黒 角  140 14 小   黒 丸  110 15 大   白 角  160 16 D13: =SUMPRODUCT((A$2:A$9=A13)*(B$2:B$9=B13)*(C$2:C$9=C13),D$2:D$9) 》 1行だけならDSUMで出来るのですが… どのようにやるのか、参考のために、教えてください。

wantaro1
質問者

お礼

回答ありがとうございます。 DSUMでのやり方はNO.2さんが書かれた通りで、2行目以降が正しい金額がでなかったのです。

関連するQ&A