• ベストアンサー

エクセルで、範囲内の該当セルを探してその一つ下のセルの値を全て加算した

エクセルで、範囲内の該当セルを探してその一つ下のセルの値を全て加算したいのです。どうすればよいですか? 例: _A, _B, _C, _A, _B, _D, _A, _F 20, _5, 40, 30, 20, 80, 40, 30 という範囲があった時に 項目 _A, _B, _C, _D, _E, _F 合計 90, 25, _0, 80, _0, 30 という集計がおこないたいのです。 データ量が結構な数ありますので、手動は避けたいのです。 よろしくお願いします。

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

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

元のデータが1行+1行あったとして 集計表がSheet2に例えばあったとすると シート2のB2に =SUMIF(Sheet1!1:1,B1,Sheet2!2:2) などのように。 元のデータが実は(1行+1行)×複数組ありましたみたいな場合でも 集計表がSheet2に例えばあったとすると シート2のB2に =SUMIF(Sheet1!1:5,B1,Sheet2!2:6) などのように。

tonomine_
質問者

お礼

なるほど、SUMIFって検索範囲と集計範囲を別に指定できるんですね。 知らなかったです(汗) これなら思ってた以上にシンプルで、いいですね。 丁寧な回答ありがとうございました。

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

A-Fの組と直下の計数が複数ペア(第3行目以下にも)あるのか質問に書かないと。 SUMIFなどエクセルの関数の基礎の基礎で、もう少しエクセル関数を勉強のこと。 いつも複数かどうかは大切な点になるのだ。 SUMIFなどエクセルの関数の基礎の基礎で、もう少しエクセル関数を勉強のこと。 ーーー 例データA1:D6 a b c a 1 2 3 4 d a b c 1 2 3 4 c b a c 3 4 5 1 =SUMIF(A1:D5,"a",A2:D6) で12 =SUMIF(A1:D5,"b",A2:D6) で9 個のやり方が通用するようだ。 むしろあ、b、c、dのような、漏れと重複の無いセットをどうして割り出すかが難しいのは判りますか。 これが出来ると、例えば G7:H10 a 12 b 9 c 11 d 1 のH7で =SUMIF($A$1:$D$5,G7,$A$2:$D$6) と入れて下方向に式を複写すると、上記のようにH列に一遍に答えが出せる。 ーー シートの表のデータ構成について またこういう、列で右方向(行方向)にデータを流すのは、エクセルでは何かとやりにくいのを覚えておくこと。

  • edomin7777
  • ベストアンサー率40% (711/1750)
回答No.1

例の最初のセルをA1最後のセルをH2とします。 項目が入っているセルを順番にA4~H4とするとき、 A5セルに =SUMPRODUCT((($A$1:$H$1)=A4)*($A$2:$H$2)) と入れ、右にコピーします。 (範囲は適宜修正してください。) 因みに、「例:」Cの合計が0ですが40ですよね?

tonomine_
質問者

お礼

早速の回答ありがとうございます。 おっしゃる通り、40の間違いですねorz SUMPRODUCTで真偽値を掛けるのですね。 その発想は無かったです。 (というかSUMPRODUCT関数をよく知らなかったのですが) ありがとうございました。

関連するQ&A