- ベストアンサー
KEYが変わるまで加算する方法
- 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です。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
キーごとぐるぐる巡回するみたいな非効率はしません。 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
その他の回答 (2)
- KURUMITO
- ベストアンサー率42% (1835/4283)
回答No2です。A12セルはAI2セルの誤りです。
- KURUMITO
- ベストアンサー率42% (1835/4283)
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)
お礼
回答ありがとうございます。 マクロを使わないやり方ですね。 教えて頂いた通りに入力して 得たい結果になりました。 ありがとうございました。
お礼
早速のご回答ありがとうございます。 教えていただいたマクロを実行したら 一発で得たい結果が得られました。 ありがとうございます。