• 締切済み

基準列ごとの合計

添付ファイルにある様なA列のIDを基準としてQ列(数量)の合計値をW列(数量合計)に計算したいのですが、ワークシート関数を使って集計範囲をドラックすれば簡単に合計出来ますが、週計範囲が実データでは多行にわたる為、手動での計算は非常に手間が掛ります。 出来ればVBAを使って、一気に計算する方法をお分かりの方いましたらご教示願います。 ※A列のIDは、IDごとに最上段行のみの入力(表示)となります。(同じIDの場合は、入力がありません。) ※実際の表には、この計算には関係のない項目の列があります。(A,B,Q,W列以外)

みんなの回答

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんににちは! >実データでは多行にわたる為 というコトですので、ループせずにやってみました。 一例です。 Sub Sample1() Dim i As Long, lastRow As Long lastRow = Cells(Rows.Count, "B").End(xlUp).Row Application.ScreenUpdating = False Range("A:A").Insert Range("A1") = "ダミー" With Range(Cells(2, "A"), Cells(lastRow, "A")) .Formula = "=IF(B2="""",A1,B2)" .Value = .Value End With Range("A1").AutoFilter field:=2, Criteria1:="<>" Range(Cells(2, "X"), Cells(lastRow, "X")).SpecialCells(xlCellTypeVisible).Formula = "=SUMIF(A:A,A2,R:R)" AutoFilterMode = False With Range(Cells(2, "X"), Cells(lastRow, "X")) .Value = .Value End With Range("A:A").Delete Application.ScreenUpdating = True End Sub こんな感じではどうでしょうか?m(_ _)m

gxtsf295
質問者

お礼

早速のご教示ありがとうございます。 実データに組み込んでみます。 不明な点あった場合は再度質問させて頂くかもしれませんがその際はよろしくお願いします。

関連するQ&A

  • エクセル 3行ずつの合計

    エクセルの質問です。 A列にID、B列に数値が入力されているとします。そしてC列にB列の2行ずつの合計を計算したいのですが、どうしたらいいでしょうか。 A | B  | C 1 | 25 | ID1から3の合計 2 | 24 | ID4から6の合計 3 | 37 | ID7から9の合計 4 | 32 | ID10から12の合計 ・ ・ ・ 数百行はあるのでいちいちちょこちょこと合計するのが苦痛なんです。よろしくお願いします。

  • 表からの合計

    お世話になります、集計についてお教えください。 上段のような表があります。そしてこれを下段のような数字を合計した表に組み替えたいと思います。 この下段の表の黄色い部分に入れる数式を考えています。 上段の表に合計を示す行と列を挿入すればsumifを活用することで出来るかと思うのですが、できれば上段の表は生データとして触らないようにしたいのです。 また、実際のデータはかなりの行と列の数となっており、構成要素も多岐にわたるので手作業を加える相対参照などは避けたいと思っています。 加えて、今後の活用の点からもピボットなどの機能ではなく、関数を組み合わせた数式で処理したいと思っています。 どのようにすればよいかお教えくだされば幸いです。 A A B B あ 1 2 3 4 あ 5 6 7 8 い 9 10 11 12 い 13 14 15 16 い 17 18 19 20 A B あ い

  • エクセル 列の数値の合計の表示について、

    エクセル 列の数値の合計の表示について、 ごく基本的なことだと思いますが、教えてください。 例えばA列に上から順に数値を入れていき、その合計をB列に表示させるとします。 私のやり方はB列の計算式を=B1+A2としてこのコピーを、数値の数だけ下に下げることで目的を達しました。 すでにA列に数値が何個も入力している場合はこれで良いのですが・・。 ここから質問なのですが、例えばA列に現在10個数値がありB列に順番にその合計が出ているとします。 次にA列11行目に新規に数値を入力した時に、自動的にその合計がB列に出るようにしたいのです。 予めB列の数式のコピーを11行目以降に延ばしておくと、10行目の合計の数値が延ばした行まで並ぶので困っています。 よろしくお願いします。

  • エクセルでA列の数値にB列以降の列の数値を乗じて各列の最終行に合計を出したい

    エクセルで集計をしたいのです。 うまく説明できませんが教えてください。 列数が100列以上ある集計表です A列の1~20行の固定した数値にB列~100列以上の1~20行の各列の数値を乗じてそれぞれの列の合計をそれぞれの列の21行目に出したいのですがどうしたらいいか教えてください。

  • エクセル関数 1行抜かした列の合計

    初心者です。 エクセルで表を作成しているのですが・・・ A1とA2は結合されています。 C2、D2、E2~ には点数を入力していきます。 B2に2行目の合計を出したいのですが、 その際、A1・A2の結合部分は抜かした合計を出したいのです。 C2からドラッグすればいいのかもしれませんが、 何列まで入力するか未定なので、 何か関数の入力の仕方があれば教えていただきたいです。 よろしくお願いします。

  • A列とB列の合計を行ごとにC列に表示させたい

    お早うございます。エクセルのセルの計算で教えてほしいのですが、A列とB列の合計を行ごとにC列に表示させたいのです。例えばA1のセルに“1", B1のセルに“2"と入れます。それで、C1のセルに“=A1+B1"と入力します。そうするとC1のセルは“3”と表示されますよね。そこで同じように違った数字の合計を100行ほどそれぞれC列に表示させたいのです。セルごとではなく縦全部列ごとでもかまいません。宜しくお願いします。

  • エクセル計算式で集計結果を合計から除外する

    エクセルシートにデータ入力欄と列合計欄を作成し、列合計欄には計算式(=SUM(範囲))を設定しましたが、[ツールバー]→[データ(D)]→[集計(B)]の手順にて入力データの集計を行ったところ、列合計欄の値が倍になってしまいます。 列合計欄から集計結果を除外して合計を求める計算式があったら教えてください。

  • 複数列の数量を集計したい

    こんばんは。 EXCELの集計の式についてお聞きします。 品番 日付 数量 伝票No.  数量 伝票No.  数量  伝票No. A 7/23 20 111 A 7/24 20 222 A 7/24 5 111 A 7/25 5 111 A 7/26 10 222 A 7/27 5 222 と数量が3列あります。 このデータを 品番、伝票No.(3列分まとめて)で数量を集計したいのです。 但し2列目の数量だけは引きます(数量合計=1列目-2列目+3列目) 品番 伝票No.  数量 A  111 10 A 222 25 と集計したいのですが。 EXCELの式だけでこのような事はできますか? 分かる方おられましたら、 どうぞ宜しくお願いします。

  • Excelで文字列をまとめたい

    こんにちは いつもお世話になります。 このカテへの投稿は初めてですが、今頼まれて簡単な集計表を作ろうとしています。 あるシートを入力専用のシートにし、たとえばA列に日付、B列には品名、C列には数量を入れるとします。 これを1ヶ月続けたあと、品名でまとめた集計表を作ります。 100行くらいのデータのうち、種類としては10数種類であり、その数は毎月変動します。(行数も) 集計表に重複せずに整理するため、今まではB列だけを別にコピーし、手動でソートして重複しているデータを削除していました。 これをなんとかもっと簡単に行う方法はないものでしょうか? 残りの数字の部分はSUMIF関数を使って合計させていますので簡単なのですが、前処理にいい方法が思いつきません。 ぼちぼち頭の柔軟性に疑問符がつき始めた小生になにかいいヒントをいただけましたら幸いです。 よろしくお願いいたします。

  • 合計が0の行を削除

    計算式が入力されており、合計が0(A,B列に数値が入力 されていない)の行を削除するVBAを教えてください。   A  B  C    1  10  5 15 2       0 3  20  6 26 C列に計算式が入力されています。 50行目まで入力されています。 オートフィルタを使用し、抽出された行を削除する方法が あると思いますが、VBAで作成する方法を探しています。 よろしくお願いします。

専門家に質問してみよう