- ベストアンサー
エクセル・数値を足して出力するには
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
こんばんは! 先ほど回答した者です・・・ 前回と似たような方法になります。 ↓の画像のようにC列を作業列として、 C2セルに =IF(COUNTIF($A$2:A2,A2)=1,ROW(),"") という数式を入れ、オートフィルでずぃ~~~!っと下へコピー! E2セルに =IF(COUNT(C:C)<ROW(A1),"",INDEX(A:A,SMALL(C:C,ROW(A1)))) F2セルに =IF(E2="","",SUMIF(A:A,E2,B:B)) という数式を入れ前回同様にオートフィルで下へコピーすると 画像のような感じになります。 ※ > 実際にはコード番号は数万あり・・・ とありますので、オートフィルでコピーも大変かもしれません。 もし途中に空白セルがないのであれば、 作業列のC2セルのフィルハンドルでダブルクリックでOKかと思います。m(_ _)m
その他の回答 (5)
- tamiemon96
- ベストアンサー率49% (658/1341)
縦1列の表と考えてよろしければ・・・ (1) 一番左の空欄に 連番のIDを入れましょう(後で並べ替えを戻せるように)。 (2) コード番号順にソートします。 (3) エクセルの集計機能で コード番号欄をグループの基準にして 数値欄の合計を出します。 (4) 集計結果は合計の行だけ表示する。 誰にでも使える、スタンダードな方法だと思いますが。
- MackyNo1
- ベストアンサー率53% (1521/2850)
No4の回答の訂正です。 D2セルに入力する数式ですが、最も小さい値(コード番号)が1つしかない場合は、D1セルの文字列がA列にもあるため、結果として2つ目の値を返しますので、最小値が得られるように「=MIN(A:A)」の数式に変更してください(前の回答のD2セルを下方向にオートフィルしたD3以下の数式はそのままでもOKです)。 D2セルに同じ数式を入力して下方向にオートフィルしたい場合は、COUNTIF関数の範囲を列全体ではなく$A$2:$A$10000のように絶対参照んしいた数式にしてください。 =IF(OR(D1="",D1=MAX(A:A)),"",SMALL(A:A,COUNTIF($A$2:$A$10000,"<="&D1)+1))
- MackyNo1
- ベストアンサー率53% (1521/2850)
- yui56544
- ベストアンサー率69% (85/123)