• ベストアンサー

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

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

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

  • ベストアンサー
  • msMike
  • ベストアンサー率20% (363/1775)
回答No.2

添付図参照 B1: =SUMPRODUCT(OFFSET(B2,,,MATCH(FALSE,A2:A19=A$2,0)-1))

tatsuponics
質問者

お礼

ありがとうございます。 完璧です。イメージしていた通りの値を算出することができました。 関数の意味は分かりませんが・・・笑 本当に助かりました。

その他の回答 (4)

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

この課題は、結構むつかしい問題と思う。 質問者は、既出の回答で判りましたと言っているようだが、質問者の現在のエクセル力を越えていると思う。そもそも質問の課題の特徴が十分文章で表現で来てない。 Aは第2行、第3行のほかに第5行にも出ているようだし。BもA列で続いた行があれば、その合計を出したいのだろうな。 「A列の連続した行で、同じ値が続いていれば、その同じ値の行のB列合計を出したい」という表現になるのかな。 ーー A列の項目1の値(AやBやC・・)が連続して出現している行の合計を出したいのだろう。 VBAなどでやれば、たやすいが(参考下記)、関数でやると、どこへ答えを持ってくるか (どのセルに関数を入れるか)も含め難しいと思う。 >離れたセルに結果を算出するような ってどういうことかな? >小計機能」以外での対応を教えていただけると助かります こういう注文を付けて、考えられるのは、エクセルのスキルが、中級以上になってからだと思う。いつのことやら。1つのやり方(操作などでも)で、満足すべき。エクセルは基本的にまず、「操作の学び」と思う.関数はその次。 (参考 注) 標準モジュールに Sub test01() s = 0 r = 0 lr = Range("A10000").End(xlUp).Row MsgBox lr '--- For i = 2 To lr If Cells(i - 1, "A") = Cells(i, "A") Then '前行と同じ場合 s = s + Cells(i, "B") 'sに足し込み k = k + 1 '続き件数に+1 Else '上行と変わった場合 If k >= 2 Or i = 1 Then '今までの続き1件は対象外 Cells(i - 1, "C") = s 'sをC列に書き出し End If k = 1 s = 0 s = s + Cells(i, "B") '自身をとりあえず加算 End If Next i End: Cells(i - 1, "C") = s '最終分C列に書き出し End Sub ーー データ例 A列  B列   C列(結果) 項目1 項目2 結果 A 10 A 20   30 B 15 A 5 A 15 A 10   30 C 20 B 25 B 5   30 A 15 ーー C列が結果。

tatsuponics
質問者

お礼

imogasiさん ありがとうございます。 おっしゃる通り、まだまだExcel初心者です。VBAなんて全然扱えません・・・汗。 いろいろ勉強させていただきます。まずは基本ですね。 頑張ります。

  • msMike
  • ベストアンサー率20% (363/1775)
回答No.4

[No.2お礼]へのコメント、 「関数の意味」も分らないのに、出来たと欣喜雀躍して戴けるとは望外の仕合せにござりまする。

tatsuponics
質問者

お礼

いや~、どれだけ考えても、全然検討もつかなかったので、本当にうれしかったです。 もっと関数の勉強いたします・・・汗。 感謝、感謝~☆

  • kon555
  • ベストアンサー率52% (1749/3355)
回答No.3

if関数でいけますよ。 「項目1」と書かれた表題がA1、「項目2」がB1として、C3セルに『=IF(A3=A2,B3+B2,"!")』と入力し、必要なだけ下にコピーします。  項目1が継続する限り項目2を加算していき、項目1が変化すると「!」が出ます。  あとは条件付き書式なりフィルタなり何なりで対応可能です。

tatsuponics
質問者

お礼

ありがとうございます。 列の追加が出来ないため、C3セルに追加ができないのですが、ちゃんと算出できました。 参考にさせていただきます。

  • sknbsknb2
  • ベストアンサー率38% (1127/2910)
回答No.1

AからBに変わるのが1回だけなら方法はありますが、多分そうではないですよね? もう少し条件を詳しく書いていただくのがいいと思います。

tatsuponics
質問者

お礼

ありがとうございます。 無事、解決することができました。

tatsuponics
質問者

補足

sknbsknb2さん 返答ありがとうございます。 もう少し条件を追加させていただきます。 ・項目1はA,B,Cの3種類です。 ・最初は必ずAとは限りません。項目1の値が変化するまでの項目2の合計を算出したいです。 ※算出するのは、一番上の行から 項目1が変化するまでの1回の値(合計)だけでいいです。 ・B,Cは含まれない可能性もあります。 かなりややこしい条件になってしまいましたが、ご教授頂けると助かります。 どうぞよろしくお願いいたします。 以上

関連するQ&A

  • Excel2010 合計時間の算出

    A1~A10セルに時間(0:15)、B1~B10セルに項目名が入力されています。 それぞれの項目ごとに合計時間を算出したいのですが、 どのような数式を使用すればよいかご教示頂けますでしょうか? よろしくお願いいたします。

  • IF関数を算出した値を合計する

    こんにちは。 IF関数を使用した値を合計することができない為、お力を下さい。 IF関数で=IF(A1<B1,C,D)と組んだ式ででた値を合計したいのですが 上手くできません。 文字列かと思いセルの書式設定を数値にしたのですができませんでした。 エラーメッセージも出ないため、何が問題なのかがわかりません。 わかることがあれば教えてください。 宜しく御願い致します。

  • 項目別の合計を算出

    a 1 a 2 3 b 3 3 c 4 4 d 5 d 6 11 このような明細からa、b、c、dのそれぞれの合計を出し、 a 3 b 3 c 4 d 11 といった感じで小計で算出したいと思っています。 どなたかわかる方がいましたらよろしくお願いいたします。

  • Jqueryを使って値の合計を簡単に算出したい

    複数のフィールドに設定されている値を特定のイベント発生時に合算しています。 現在は、それぞれの項目をひとつづつ加算し合計を算出していたのですが、項目が徐々に増えてきており、項目を増やすたびに計算を修正しないといけない為、これをどうにかして一括処理できないか考えています。 いろいろ調べるとJqueryではセレクタというものがあり、IDやCLASS等を前方一致で引っ掛けて一括処理できるようなのですが、いまいち処理方法がわかりません。いろいろなサンプルを試したのですが、条件に合致した部分に何かを設定するものばかりで、その項目の値を取得して処理をするようなイメージがつかめません。 セレクタにこだわってはいません。 動的に増える項目を関数化した処理で一括で合算したいのですがなにかよい方法はないでしょうか?

  • 【エクセル】一部列を除いて一括で値貼り付けする方法

    こんにちは。 エクセルで下記の通りVlookupにて他のファイルから値を参照し、小計・合計を 出しています。 ただ、参照先ファイルとのマッチングしなかった場合は#N/Aが返ってきてしまいます。 ISNA関数を使用し「0」に置き換えることも考えましたが他ファイルから参照する 値がかなり多く、また参照箇所もバラバラで関数を組み込むだけでかなりの稼動に なってしまいます。 小計または合計以外について値貼り付けをしたのち、値貼り付けした部分を置換にて #N/Aを0に置き換える方法が一番効率的ではないかと思っております。 ただ、小計・合計の列を除いて値の貼り付けをする作業もかなりの稼動となってしまいます。 小計・合計の列を非表示にして値貼り付けしたなども試してみましたが、小計・合計について も値貼り付けされてしまいます。 小計・合計の列以外(一部の列を除いて)一括で値貼り付けする方法はありますでしょうか。 保護の機能も試しましたが上手くいきませんでした。 また別の方法でも構いません。良い方法がありましたらご教授ください。 説明が下手で分かりずらいかもしれませんがどうぞよろしくお願いいたします。      セルA  セルB              1  …   Vlookupで他のファイルより参照       #N/A  …   Vlookupで他のファイルより参照         3  …   Vlookupで他のファイルより参照 小計   #N/A …   上記値を足仕込むSum関数         4  …   Vlookupで他のファイルより参照         5  …   Vlookupで他のファイルより参照       #N/A  …   Vlookupで他のファイルより参照 小計   #N/A  …  上記値を足仕込むSum関数 合計   #N/A  …  合計

  • 基点セルと同じ値であれば合計を計算

    A列の基点セルから5セル下まで参照し、同じ値であれば、同行B列の数字を合計し、基点セルと同行C列に表示(このとき基点セルの同行B列の値を含めない)。できればマクロを使わず、関数で計算したいです。 (例)A3が基点セルの場合、A4~A8までを参照。A4とA6が同じ値なのでB4とB6を合計し、C3に「¥1300」が表示される(B3の「¥500」は含めない)。

  • EXCEL関数について

    EXCELで集計する表を作成しました。 各項目ごとの小計もあるのですが、このような縦計算の場合、SUMで全部を指定してしまうと、全部の数値が入って計算されてしまうのですが、そうならないように、小計があるところはその数値を使用するか、小計を除いて値のみで計算していくか、簡単に総合計を出す関数はありますか?教えてください。(C商品やD商品のように小計がない場合もあります) ひとつひとつ対象の値を選択していけばいいのかもしれないですが、値がたくさんあるので、簡単にできる方法を知りたいです。 例 A商品   200 A商品   300 小計    500 B商品   100 B商品   20 小計 120 C商品   30 D商品   10     ・     ・     ・ 総合計 ?

  • 時間数の算出

    エクセル関数について教えてください。 22:00から翌日5:00の時間数を関数をいれ、自動算出出来るようにしたいのですが、 セルA1に22:00 セルB1に5:00 セルC1に時間数を出したいときに単純にB1-A1にすると算出できません。 セルB1に29:00と入力すれば計算できることは知っていますが...。 5:00と入力するだけで計算することは出来るのでしょうか? 関数をおしえていただけないでしょうか

  • 複数の条件に当てはまる物の合計を算出!

    こんばんわぁ^^ 明日が締め切りで・・・もう私の頭では゜゜(´□`。)°゜。 頭がもう限界の為、質問内容がいつも以上に分かりづらいと思いますが、 明日までにExcelのデータを完成させなくちゃいけなくて・・・ 宜しくお願いします。m(__)m    A      B       C      D   孔種別     Lu      a値     b値 1 1次孔     2       1.40     3.5 2 2次孔      2       1.20   3 1次孔      5        1.60      4.2 4 3次孔      2        1.50       5.0 5 6 ≪2Luの各計≫ 7 1次孔     (1)     (2)     (3) 8 2次孔     (4)     (5)     (6) 9 3次孔     (7)     (8)     (9) 【条件】  ・数値が定期的に変化する為、数値を修正すると自動に各結果も修正されるように、関数を設定すること。  ・b値欄は空白セルがあるが、空白セルもカウントして平均値を算出する。  (例えば、10行ある内、9行は入力。1行は空白。 通常なら、合計÷9=平均値となってしまうが、合計÷10=平均値となるようにしたい)    ※b値の欄には「0」という数値もある為、空白セルに「0」を入力する事はNG!    また、画面上では見えるが印刷はされない!という設定も複数の人がこのファイルを利用する為、分かりづらくなるのでNG! 【質問内容】  a) (1)に、1次孔の2Luのみの、数の合計を算出したい  b) (2)に、1次孔の2Luのみの、a値の平均値を算出したい  c) (3)に、1次孔の2Luのみの、b値の平均値を算出したい      ※(4)~(9)はグラフのイメージが伝われば・・・と思い書いただけなので、気にしないで下さい。    分かりづらいと思いますが、どうぞ宜しくお願いします。m(__)m 

  • シート名を自動取得し、自動的に合計値を求めたい

    シート名を自動的に取得し、 合計値を求めるにはどうすればいいでしょうか。 【現状関数】 =SUMIF(支出の部!C:C,B26,支出の部!J:J) 【仕様】 ・「B26」はシート名を示しています。(変動的な値) ・「D26」は算出した支出の合計値が入っています。 ・「C:C」は、項目Aを探し出し、「J:J」で項目Aの合計値を求めています。 【対応したいこと】 ・現在、関数で固定(例;支出の部)されており、B26(支出の部)が変動した場合、  値が取得できなくなってしまいます。  例:「支出の部」 → 「テスト」に変更した場合、参照ができなくなる。  これらを自動的に、B26からシート名を取得し、D26にその取得した値を  入れるようにしたいです。 ・取得対象となるシート名がない場合、「D26」セルに、「Error」と出力する。 よろしくお願いします。

専門家に質問してみよう