• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:KEYが変わるまで加算する方法)

KEYが変わるまで加算する方法

このQ&Aのポイント
  • KEYが変わるまで、B列~AF列までの各列毎に加算し、KEYが変わるとAG列にA列のKEYとAH列~BL列に加算合計をのせる方法が知りたいです。
  • エクセルシートにはA列とB列~AF列があります。A列のKEYが変わるまで、各列の値を加算し、変わったらAG列にA列のKEYと各列の合計を表示する方法を教えてください。
  • エクセルシートにはA列とB列~AF列があります。A列のKEYが変わるまで、各列の値を加算し、変わったらAG列にA列のKEYと各列の合計を表示する方法を教えてください。エクセルのバージョンは2010です。

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

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

キーごとぐるぐる巡回するみたいな非効率はしません。 sub macro1() ’1行目はふつーにタイトル行にする。してあるなら以下省略。  range("1:1").insert shift:=xlshiftdown  range("A1") = "head"  range("AG:BL").clearcontents ’キーを抽出し、集計する。  range("A:A").advancedfilter action:=xlfiltercopy, copytorange:=range("AG1"), unique:=true  range("AH2:BL" & range("AG65536").end(xlup).row).formula = "=SUMIF($A:$A,$AG2,B:B)" ’片づけ  range("1:1").delete shift:=xlshiftup end sub

moguo4649
質問者

お礼

早速のご回答ありがとうございます。 教えていただいたマクロを実行したら 一発で得たい結果が得られました。 ありがとうございます。

その他の回答 (2)

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.3

回答No2です。A12セルはAI2セルの誤りです。

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

A列からAFセルまでのデータが2行目から下方にあるとしてAG列は作業列とします。 AG2セルには次の式を入力して下方にドラッグコピーします。 =IF(A2="","",IF(COUNTIF(A$2:A2,A2)=1,MAX(AG$1:AG1)+1,"")) AH2セルには次の式を入力して下方にドラッグコピーします。 =IF(ROW(A1)>MAX(AG:AG),"",INDEX(A:A,MATCH(ROW(A1),AG:AG,0))) これでA列でのダブりのないデータが表示されますのでA12セルには次の式を入力してBM2セルまで横にドラッグコピーしたのちに下方にもドラッグコピーします。 =SUMIF($A:$A,$AH2,B:B)

moguo4649
質問者

お礼

回答ありがとうございます。 マクロを使わないやり方ですね。 教えて頂いた通りに入力して 得たい結果になりました。 ありがとうございました。