• ベストアンサー

[Excel]重複しない文字に対応する数値の合計を求めたい

Excelの関数で困っています。 ---------------- | A | B | C | 1|記号|名前|値 | 2| + |aaa |50 | 3| + |bbb |20 | 4| - |aaa | | 5| + |ccc |90 | 6| + |ddd |40 | 7| - |ddd | | ---------------- | |合計|110| ---------------- 上のような表で(形式は変えられない) 重複を除いた"3C"と"5C"の[値]の合計値のみを算出したいです。 条件としては、 (1)[B]の重複するデータを見つける(2つのはず) (2)(1)の2つのうち、片方の[A]の"+"、もう片方の[A]は"-"であることを確認 (3)"2C"から"7C"の範囲で、(2)を確認した(1)を除いた合計値を算出する といった流れです。 どのような条件式を与えれば良いでしょうか? 調べてもなかなか同じような例がないし、理解が難しいです。 DSUMを使うのかとは思ってますが。 詳しい方がいらっしゃればご教授お願い致します。 ※"記号"・"名前"は文字列で"値"は数値です。 ※"記号"が"-"のものは"値"が空です。

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

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.1

=SUMPRODUCT(($A$2:$A$7="+")*(COUNTIF($B$2:$B$7,$B$2:$B$7)=1)*($C$2:$C$7)) これで求められると思います。

goopon
質問者

お礼

とりあえずイケました。 助かりました。ありがとうございます。 詳しくはどうなってるんでしょうかね? 調べれば分かりますかね。

その他の回答 (1)

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.2

もしかして、この質問は「A列が空白の場合、その直前に出現した同じ名前の数値を取り消したい」ということですか?  レジの記録で「取り消し」の場合に数量が入力されないような感じでしょうか? ですからaaaは何十回も出現する可能性があり、単純に同じ名前が複数あるかどうかでは判断できないのではないかと推察しました。 また >形式は変えられない は補助列も使用できないという意味ですか? 補助列を使用してよいならD3セルに以下を貼り付けて下方向にコピーします。  =IF(A3="",INDIRECT("C"&MAX(INDEX((B$2:B2=B3)*ROW(B$2:B2),))),"") するとA列が空白の行に対して、直前の同じ名前の数量が表示されます。(D4セルにはC2セルの50が表示され、D7セルにはC6セルの40が表示される) 後はD列の合計を全体の合計から引いてください。 ただし以下のように表の先頭にいきなりA列が空白の行が出現する場合はうまくいかないかもしれません  2行目 - aaa  3行目 + aaa

goopon
質問者

お礼

回答ありがとうございます。 すごいですね。 なるべくなら補助は使いたくはないですが、 きれいになるなら検討できます。 ありがとうございます。

関連するQ&A

  • (EXCEL)重複したデーターの抽出について

    EXCEL2003 シート「sheet1」に下記のようなデーターがあります。 <sheet1>   A   B   C  D 1 りんご 青森 AAA BBB 2 みかん 愛媛 CCC DDD 3 みかん 青森 AAA BBB 4 りんご 青森 AAA BBB 5 みかん 愛媛 CCC DDD A列とB列が同じ値のものをシート「sheet2」に重複しているデーター は1行だけになり、E列にカウントした数が入力されるようにしたいです。 (C列やD列は同じ値でなくてもA列とB列が同じ値の時にカウントして抽出したいです) <sheet2>   A   B   C  D   E  りんご 青森 AAA BBB  2  みかん 愛媛 CCC DDD  2   ご教示のほどお願いします。

  • Excelでの条件付合計関数について

    お世話になります。 Excelで以下のような複数の条件での合計値の算出を行いたいのですが、 上手く算出できません。 環境:WindowsXP,Excel2000 名前   色    値段 りんご  赤    100 りんご  青    150 りんご  赤    100 ぶどう  赤    200 ぶどう  青    200 上記のようなリストがあるとき、 「名前がりんごで色が赤なら金額を合計する」 「名前がぶどうで色が青なら金額を合計する」 などのように2つの条件に一致する場合、別のセルの合計金額を算出したいのですが、SumIF関数だと条件を一つしか設定できない、 また、DSUM関数だと違う条件に都度タイトルを設けなくてはならないため、 どのように算出して良いかわからず困っています。 Sum(If(AND(A1:A5="りんご",B1:B5="赤"),C1:C5) などのようにしても上手く計算されませんでした。 どなたかアドバイス頂ければ幸いです。 よろしくお願い致します。

  • Excel表を集計するプログラム

    A列に複数の項目(重複もあり)があります。B列に数字が入っています。 A列の項目で重複しているものはMergeします。 それと同時にB列に入っていた数字を合計したいと思っています。 [具体例] 処理前  →  処理後 AAA 1     AAA 7 BBB 3     BBB 7 CCC 4     CCC 4 BBB 4     DDD 2 DDD 2 AAA 5 AAA 1 こんな感じの処理をVBAでしたいと思っています。 教えてください。 よろしくお願いいたします。

  • エクセル関数:複数の条件を満たす行の合計

    例えば下記の様な表の場合に、A行が”2”で、B行が”桃”の行のCの値の合計を出したいのですが。 A   B     C 1 2 桃    10 2 2  蜜柑 10 3 3  蜜柑 10 4 3  桃 10 5 2  桃 10  6 4  蜜柑 10 SUMIFで、出来ないかなと思ったのですが複数の条件の場合というのがヘルプに出ていません。 エクセル本を見たところDSUMというやり方があるのですが、これだと数式だけでなく欄外に見出しと条件の入った表を別途作成しなければならないようです。 色んな場合の合計を出すのに、場合の数だけ見出しと条件の入った表を作るというの方法しかないのでしょうか? もし関数の数式だけで上記の値を出す方法を御存知の方、教えて下さい。 「DSUMで、見出しと条件の入った表を作ってしか出せない」というお答えでもけっこうです。出来ないと分かれば、簡単に数式だけで出すのは諦めて、DSUMを使います。

  • 重複するデータの個数と合計

    こんにちは、2度目の質問です。 またブチ当たってしまいました。    A  |  B 1 A01 |  100 2 B01 |  100 3 A01 |   20 4 C01 |   20 5 A01 |   30 6 A01 |  100 7 A01 |   50 8 C01 |   60 9 B01 |   80 上記のような表があります。 このとき、セル"A1"~"A9"までの、 「A01」の個数は何個か、 「B01」の個数は何個か、 「C01」の個数は何個か、 また、セル"B1"~"B9"までの、 「A01」のB行における数値の合計はいくつか、 「B01」のB行における数値の合計はいくつか、 「C01」のB行における数値の合計はいくつか、 と言うマクロを考えなくてはなりません。 この例のように、たかだか3個とか10個ぐらいなら"COUNTIF"関数を使えばなんて事無いのですが、 この「A01」のような物が1000以上(例えて言うとA0001~A1000と言った感じ)あり、 それが全てランダムで出てきますので、関数で行うのは無理のような気がします。 また、この様な情報が記入されたシートが膨大な量あり、このシート全てに同じ処理を 行わなくてはならず、オートフィルタは使いたくありません。 出来れば、ボタン一発で計算したいのです。 条件に合った重複データの抽出、という質問は良く見かけますが、この様に条件付けが難しい場合は、 どのようにマクロを組めば良いでしょうか、何卒アドバイスをお願いいたします。

  • Excel関数:文字を含む複数条件の合計 (3)

    先日、「Aという文字が含まれるX社の合計、しかし"例外"という文字が含まれている場合は合計しない」に対し、 =SUMPRODUCT((ISNUMBER(FIND("A",A2:A15)))*(ISERROR(FIND("例外",A2:A15)))*(B1:F1="X社")*(B2:F15)) を教えていただき、解決しました。      A           B    C   D    E    F   ――――――――――――――――――――――――― 01 |商品名        X社  Y社  Z社   X社  Y社 02 |A            1    1    1    1    1 03 |A 例外        1    1    1    1    1 04 |B            (1)   1    1    (1)    1 05 |B 例外        1    1    1    1    1 06 |C            (1)   1    1    (1)    1 07 |C 例外       1    1    1    1    1 08 |A B         1    1    1    1    1 09 |A B 例外     1    1    1    1    1 10 |A C         1    1    1    1    1 11 |A C 例外     1    1    1    1    1 12 |B C         (1)   1    1    (1)    1 13 |B C 例外     1    1    1    1    1 14 |A B C       1    1    1    1    1 15 |A B C 例外   1    1    1    1    1 今回求めたいと思っている合計の条件は  条件1. B または C、または両方が含まれる X社の合計  条件2. "例外"という文字が含まれている場合は合計しない  条件3. B または C と記載があっても A も含まれている場合は合計しない  注意1. X社は複数列あります。  注意2. B2:F15の数値は分かりやすくすべて「1」にしていますが実際には異なります。  注意3. 実際には 「A/B/C/例外」 以外の文字や数字が商品名には含まれています。 答えは上図(1)の箇所、合計6 です。 試行錯誤しながら試みましたが断念。自分の頭を整理するために、見づらいですがイメージ図を作ってみました(ご参考になれば)          ______        /    A     \      /               \     |      ●        |       |___     ___ |    /\ ●  \/  ●  / \   /     \ /● \ /       \ |        | __ |         | |  ●   |      |   ●    | |      |  ●  |         |  \       \   /         /     \B__/ \__C__/ ABCという3つの円・範囲が、それぞれ重なりあっている。 除外する必要のある "例外"は図では●と表記。例外=●は不特定場所にある。 この図の下段3箇所の合計の内、"例外"を除いた値の合計を求めたいということになります。 ・ B枠の重なっていない範囲、内●は除く ・ C枠の重なっていない範囲、内●は除く ・ B枠とC枠のみ重なっている範囲、内●は除く これを、関数で導きだすことは可能でしょうか。。。 ご検討の程、よろしくお願いいたします。

  • エクセルで重複を抽出して合計したいのですが。

    このような表があります。    A   B 1  A社  200 2  B社  100 3  C社  300 4  D社  400  5  A社  50 6  A社  500 A列を抽出条件にします。 上の表の場合、A社が3個ありますのでA社の右の数字200と50と500を合計して、A社 750と抽出したいです。 A列で重複しないものは、そのまま表示させます。 エクセルのマクロを使って、上の表を↓の表のようにしたいです。    A   B    C   D 1  A社  200  A社  750 2  B社  100  B社  100 3  C社  300  C社  300 4  D社  400  D社  400 5  A社  50 6  A社  500 その他の条件としてはA列には重複する項目が何個もでてきます。 よろしくお願いします。

  • エクセルで特定の数値の合計を出したいと思ってます

    エクセルで特定の数値の合計を出したいと思ってます 初心者のため、わかりづらい表現があるかと思いますが、ご了承頂ければと思います。 以下のようなテーブルがあります。 A___|_ _ __B_ _ _________|_ _C_ _| 12/1| aa/taro/ccc |1540 | 12/1| bbb/hanako/ccc |1  | 12/1 | cc/taro/ddd |1540 | 12/1 | aa/yuka/ccc |6  | 12/1 | aaa/taro/bbb |209   | 12/2 | bb/taro/bbb |224  | 12/2 | cc/yuko/ccc |127   | 12/2 | bb/taro/aaa |127  | 12/2| aa/hanako/ccc |6   | 12/3| aa/taro/ccc |127   | 12/3| bbb/taro/ccc |253   | 12/3| aa/yuko/bbb |253   | 12/3| cc/hanako/ccc |16   | 12/3| aa/yuko/dd |1   | 12/3| bb/taro/ccc |16   | 12/3| aa/taro/c |6   | ~~~~~~~~~~~~~~~~~~~~~~~~~ <列の説明> A:日付 B:URL C:数値 <今回行いたいこと> 同一の日付(列A)内の行の中でURL(列B)に含まれる特定の文字を含む、数値(列C)の合計を出したいと思ってます。 例としては、 12/1のtaroを含むURLの合計値 C1+C3+C5=1540+1540+209=3289 このシートのデータは約20000件くらいありますが、最終的には下記のようなシートを作れればと思ってます。 URLにtaroを含むDailyの合計値 日付__|_合計値_| 12/1 | 455 | 12/2 | 3322 | 12/3 | 5439 | 12/4 | 2764 | 非常にわかりづらい表現で申し訳ございませんが、どなたかお力を頂ければと思います。 よろしくお願い致します。

  • 値が変わるまでの合計を算出したい(Excel)

    項目1  項目2  A    10 A    20 B    20 A    20 次の"B"までの合計=30 「項目1」の値が、"A"から"B"に変わるまでの、「項目2」の合計(次の"B"までの合計)を自動で抽出するには、どのような方法があるでしょうか? 出来れば「小計機能」以外での対応を教えていただけると助かります。 離れたセルに結果を算出するような、都合の良い関数とかないでしょうか? 宜しくお願いいたします。

  • EXCELの網掛け&文字のパターン色の操作

    EXCELで,ある条件でセルの網掛け&文字のパターン色を操作することは可能でしょうか? 例:  |  A  |  B  |  C  | ------------------------ 1| AAA | AAA |     | 2| BBB | AAA |     | 3| CCC | DDD |     | 4| DDD | DDD |     | 5| EEE | DDD |     | 上記のセルで列Cの内容を 列A=列Bの場合 薄い水色のセルで黒文字 列A≠列Bの場合 白色の  セルで赤文字 と言う条件の設定は可能でしょうか? 

専門家に質問してみよう