Excelで条件付きの総和の算出方法

このQ&Aのポイント
  • Excel 2010を使用して、条件付きで単価X個数の総和を算出する方法を教えてください。
  • A列には必ず番号がありますが、B列には空欄のものもあります。C列は1グループ、2グループ、空欄の3種類です。Aグループ、Bグループ、空欄グループの商品の単価X個数の総和をそれぞれ求めたいです。
  • 条件付きの総和の算出方法についてご教示いただけますか?Excel 2010を使用しています。
回答を見る
  • ベストアンサー

Excel、条件付きで単価X個数の総和の算出方法

今日は。 Excel 2010を使用しています。 A列に番号、B列に商品名、C列にその商品のグループ名、 D列に単価、E列に個数が書いてある表があります。 ・A列には必ず番号がありますがB列には空欄のものもあります  したがってC、D、E列が空欄の行も存在します ・C列は「1グループ」、「2グループ」と「空欄」の3種類です。 ここで Aグループの商品の単価X個数の総和 Bグループの商品の単価X個数の総和 空欄グループの商品の単価X個数の総和 をそれぞれ求めたいのです. しかしグループ別という条件を付けて 単価X個数の総和をだす方法がわかりません。 上記の条件付きの総和の算出方法をご存じの方 お教えください。 よろしくお願いいたします。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.3

Excel2010では =SUMPRODUCT((C:C="1グループ")*1,D:D,E:E) =SUMPRODUCT((C:C="2グループ")*1,D:D,E:E) =SUMPRODUCT((C:C="")*1,D:D,E:E) で出来ます。 #補足 式中の「,」の部分を掛け算(*)にしてしまうと、あなたの実際のエクセルの内容によって計算結果がエラーになる場合があるので注意してください。

sherman
質問者

お礼

ご回答ありがとうございます。 実際に試して正しく計算できました。 大変助かりました。

その他の回答 (3)

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

No.2です! >フォーマットが決まった表なので合計欄は勝手に作りたくなかったのです とありますので、 No.3さんの方法で何とか解決したようで、よかったです。 PCの負担を考えると、別Sheetにでも「計」の列を設けてSUMIF関数で対応する方法も考慮してはどうでしょうか? 仮に元データがSheet1でSheet2に「計」の列を設けます。 データが10000程度あるというコトなので、オートフィルでコピーするのも大変です。 元データが2行目以降にあるとすると、 Sheet2のA2セルに 1 を入力 → A2セルを選択 → 画面左上のΣのアイコンの下の「フィル」のアイコンがあるはずですので その下向き▼をクリック → 連続データの作成 → 「列」を選択 → 停止値の欄に仮に 20000 と入力し、OK これでA2以降に1~20000の数値が表示されます。 B2セルに =Sheet1!D2*Sheet1!E2 という数式を入れB2セルのフィルハンドルでダブルクリック! これでB列が「計」の列となります。 前回アップした画像の配置で I2セルに =SUMIF(C:C,H2,Sheet2!B:B) という数式を入れ下のI3セルまでオートフィルでコピー! C列は3種類限定というコトですので、 I3セルに =SUM(Sheet2!B:B)-SUM(I2:I3) という数式を入れます。 これで何とかご希望通りにならないでしょうか? ※ あくまで一例ですので、こんな方法もある!という程度で・・・m(_ _)m

sherman
質問者

補足

ご回答ありがとうございます。 PCのの能力を考えると(2GBしか積んでないCore2Duoなので) "別Sheetにでも「計」の列を設けてSUMIF関数"のほうがよいかもしれませんね。

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

こんばんは! 各行に「計」の列がないのですね? もし↓の画像のようにF列に「計」の列を設けてもよいのであれば 単純にSAMIF関数だけでOKなのですが・・・ 画像ではI1セルに =SUMIF(C:C,H1,F:F) という数式を入れオートフィルで下へコピーしています。 「計」の列が設けられない場合は、SUMPRODUCT関数で対応できると思います。 I1セルに =SUMPRODUCT(($C$2:$C$1000=H1)*($D$2:$D$1000)*($E$2:$E$1000)) という数式を入れオートフィルで下へコピーで、同様の結果が得られると思います。 ※ 画像のH3セルの「空白グループ」の文字の意味はまったくありません。 空白グループは単価・個数のセルが空白だと思いますので 0×0=0 となり常に「0」となってしまいます。 (グループ列だけが空白で他の条件があり、その合計を求めたい場合は別途条件設定が必要になります) ※ SUMPRODUCT関数は極端にデータ量が多い場合はあまりオススメできません。m(_ _)m

sherman
質問者

補足

ご回答ありがとうございます。 フォーマットが決まった表なので合計欄は勝手に作りたくなかったのです。 空白グループは、B列にも商品名があり、単価、個数があります。 ですので計算する必要があります。 ※ SUMPRODUCT関数は極端にデータ量が多い場合はあまりオススメできません。 とのことですが10000行ぐらいなら大丈夫でしょうか?

  • angkor_h
  • ベストアンサー率35% (551/1557)
回答No.1

F列に単価X個数を記入すれば、sumif関数が使えます。 もし、単価X個数をいちいち計算せずに、と言うのであれば、「単価X個数をいちいち計算しない」メリットは何なのでしょうか?

sherman
質問者

補足

ご回答ありがとうございます。 フォーマットが決まった表なので合計欄は勝手に作りたくなかったのです。

関連するQ&A

  • 商品の単価と個数を入力するだけで合計金額を出したいのですが。

    エクセルのA列に商品名を入力(現在42行あります)し、B列に商品の単価を入力、さらにC列以降は4月(C列)、5月(D列)、6月(E列)・・・というふうに月別に列を設けて表を作っています。 そして、商品を注文した場合にだけ、各商品の個数を、その商品名の行(で且つその月の列)に入力していき、一番下の行(現在は43行目)にその月に注文した全てのものの合計金額がいくらであったかを表示させています。 最初は注文する商品が少なかったので、 =$B$1*C1+$B$2*C2+$B$3*C3 というような計算式を合計金額の欄に入力し、それを月ごとの合計金額の欄にコピーして貼り付けて使用していたのですが、だんだん商品が増え、計算式が膨大になって見苦しくなってきました。 もっと簡単に計算してくれる関数があればと思うのですが、みつかりません。 どなたか教えてください。

  • エクセルで、検索条件と合計範囲の異なる“カウント”

    職場でExcel2003を使っています。 こんなデータを集計する必要が出てきました。  A         B     C     D    E 1会社名     店舗名  商品A  商品B 商品C 2株式会社A  店舗a   0個    12個   13個 3株式会社A  店舗b   1個    12個   0個 4株式会社A  店舗c   0個    0個    0個 5株式会社B  店舗a   5個    12個   13個 6株式会社B  店舗b   0個    0個   13個 7株式会社B  店舗c   6個    12個   3個 8株式会社B  店舗d   0個    12個   14個 ↑この表のデータを、 A社    商品A取扱店舗数 商品B取扱店舗数 商品C取扱店舗数       商品A販売個数   商品B販売個数  商品C販売個数 B社   商品A取扱店舗数 商品B取扱店舗数 商品C取扱店舗数       商品A販売個数   商品B販売個数  商品C販売個数 C社… という表にしたいのですが、ココに入れる関数。 販売個数の方は簡単にいきました、sumif($A$1:$A$8,"会社名"、C$1:C$8)てやればよかったので。 が、取扱店舗数の方が、難問。 sumifだと、検索条件の範囲と、合計範囲って別に設定できるじゃないですか。 “A列で、A社て入っている行の、C列の数字を合計する” という設定が出来る。 ところが、販売店数となると…。 sumifと全く同じ要領で、 “A列で、A社と入っている行の、C列のデータ個数を数える” という作業を、したいんですが…countifでは「A列で、A社と入っている行の数を数える」のが精一杯。 A社    count(C$2:C$4) count(D$2:D$4) count(E$2:E$4)       商品A販売個数   商品B販売個数  商品C販売個数 B社    count(C$5:C$8) count(D$5:D$8) count(E$5:E$8)       商品A販売個数   商品B販売個数  商品C販売個数 C社… とする方法もありますが(上の表の店舗は増えたり減ったりしない予定なので)、最初が大変だし、sumifのように、関数一つで何とかならないだろうか、と…。 配列数式?DCOUNT関数?? すみません、どなたか、お知恵を下さい…。

  • エクセルでの「文字を含む」複数条件の個数算出方法

    とても困ってます。 例 A1セルに「11」が入っています。   B  C 1 ああ  11 2 いい  12 3 Pあ  11 4 いP  11 ・ ・ ・ で、B列にPを含み、C列が「11」の値を ={SUM(iF($B$2:$B$1000="*P*",IF($C$2:$C$1000=A$1,1,0),0))} 求めようとしたのですが、 どうもうまく個数が求められません。 なぜでしょうか? (例が悪くて、申し訳ありません) とても困っています。 回答宜しくお願い致します。

  • 複数条件での集計方法について(Excel2003)

    複数の条件で集計を行い、データの個数を表示させたいと考えてます。 対処方法をご教示下さい。 <例>     列A    列B   列C  列D 1 注文番号 メーカ名 タイプ  購入日 2  123     NEC   NOTE  2010/1 3  123     NEC   NOTE  2010/1 4  123     NEC   DESK  2010/1 5  456     HP    NOTE  2010/2 6  456     HP    NOTE  2010/2 上記の表を列A~列Dの集計により     列A    列B   列C  列D  列E 1 注文番号 メーカ名 タイプ  購入日 個数 2  123     NEC   NOTE  2010/1  2 3  123     NEC   DESK  2010/1  1 4  456     HP    NOTE  2010/2  2 列Eにデータの個数を表示 尚、集計の条件としては、列Aの注文番号が最優先の集計キー、次いで列B、列C、列Dとなります。 又、行数は約1500行前後です。 宜しくお願い致します。

  • エクセルの関数で算出したいものがあります。

    ・合計金額が493,520円 ・商品の種類は4種類 ・商品の個数は980個 ・4種類ある商品の単価の差は1~5円程度 ・980個のうち、何がいくつあるかの内訳は、4等分になるべく近い数字にする。 という条件です。 計算式がわからなかったので、電卓片手に、何度も計算したら、偶然いい数字が見つかりました。 合計金額493,520円 個数は980個 商品A の単価は502円、個数は202個 =101,404 商品B の単価は503円、個数は243個 =122,229 商品C の単価は505円、個数は247個 =124,735 商品D の単価は504円、個数は288個 =145,152 今回は、たまたま闇雲に電卓を打ったら、ぴったりな数字が出てきましたが、今後、随時数字を変えて出てくるそうです。 数字が変わる部分は、合計数字・個数です。商品が4種類あることと、単価の差が1~5円程度ということと、個数の内訳の差がなるべく4等分に近い数字だというのが条件です。 答え合わせは、計算のつじつまが合えばいいので、何種類かパターンが選べる場合もあるでしょうが、1つのパターンさえ出れば問題ありません。また確実な正解データがないので、手計算のつじつまが合えばOKです。 説明下手だと思いますが、規則がありそうで、なさそうなものですが、関数で数字が出るようなものは作れますか?教えて下さい。

  • エクセルで条件を組み合わせて値を求める方法

    お知恵をお貸しください。 求めたいのは質量です。 A列に材質 鉄、アルミ、樹脂 B列に形状 ○、◎、□ C列~E列にそれぞれ寸法が入っています。(○の場合はC列が直径とD列が長さ) G1~G3に鉄(3.8)、アルミ(2.7)、樹脂(1.4)とそれぞれの密度が入力されています。 条件式により たとえば鉄の場合で形状が□の場合、C×D×E×$G$1として計算     アルミの場合で形状が○の場合 (C/2)^2×3.14×$G$2として計算 というようにA列の条件、B列の条件の組み合わせにより計算式を変えてそれぞれの質量をF列に出したいと思っています。 以下のように値は入力されています。 A1 鉄   B1 □  C1 10 D1 50 E1 5  A2 鉄   B2 ○  C2 16 D2 380 A3 アルミ   B3 ○  C3 12 D3 125 A4 樹脂  B4 □  C4 5  D4 8  E4 4 条件式を用て行ってみたのですが複雑になりうまくいきません。 どうかよろしくお願いします。

  • エクセルでの簡単な集計について

     A B C D E F ・・・・W X 1 2 3 4 1の行に単価、2~4の行は個数です Xの列に単価*個数の合計を各行ごとに出したい。 なるべく簡単な式を教えてください。

  • エクセル 複数の条件?

    お世話になります。エクセル2007です。 商品の卸値を決めるのに複数の工程別単価シートから参照して計算してだそうとしてます。 卸値=(A工程の単価 + B工程の単価) * 自社マージンかけ率 例えば、A工程のX社、Y社、Z社の納品書のシートを コピーしてまとめてA工程単価シートをつくり、商品単価の入るシートにVLOOKUPで、よびだしています。 今まではA工程だけだったのですが、B工程も計算したいと思ったのですが、うまくつくれません。     A    B    C     D            E  1 卸値  数量  売上 A工程単価    B工程単価 今までの式はA1に =(IF(ISERROR(D1),0,ROUNDDOWN((D1*10/7.5),-1))) で、 常に総売り上げや平均卸値などを もだしたいので エラーを0にして総売上は =SUM(C:C)のように 計算しています。 A工程はあるけれど、B工程はない仕事もあり、 場合には C1のB工程のセルにエラーが出てしまいますが、 複数の条件でどういった式をいれればいいのかわかりません。 D1にデータがありE1がエラーのときはB1のA工程だけの単価で計算したいです。 B工程だけのときはありえないので、エラーでOKです。 もっとシンプルに質問できたかもしれませんが いろいろ書いてしまいました。すみません。 どうぞよろしくお願いします。

  • エクセル2000 同じ文字が入力されている個数を集計する

    A列には1~47の数字が200行まで入力されているものとします。 1 a c f e d 2 b a e d c 2 c d d f b 2 a f c a c ・ ・ ・ 47 d e d a b これときa~fが入力されている個数を次のように表にしたいと思いますが、関数でできますでしょうか。    a b c d e f 1   1 0 1 1 1 1 2   3 2 4 3 1 2

  • エクセルの条件付きSUMに

    エクセルの条件付きSUMに ついての数式の質問です    A    B   C   D 1  リンゴ  4 \120 2  ミカン  3 \100 3  リンゴ  3 \130 4  リンゴ  2 \120 5  ミカン  3 \100 リンゴ(A列)120円(C列)の商品の 個数(B列)の合計をだす。数式があれば教えて下さい 宜しくお願いします。

専門家に質問してみよう