• 締切済み

excel集計機能(もしくはVBAを使って)

エクセル集計機能を使って、表を作っています。 下記、簡略化したもので例を示します。   A B C  1 2 4 50%   2 2 5 40%  3 上記のような表があったとき、集計機能を使って A3、B3にそれぞれ列の合計となる「4」「9」を 表示させているのですが、C3に自動で(=4/9)つまり 44.4%を表示させる方法はありますか? 集計機能ではうまくいかないようなので、 VBAを使ったものでもかまいません。 ご教授よろしくお願いいたします。

みんなの回答

noname#79209
noname#79209
回答No.4

#1です。 ダサイですが、「総合計」という文言をMATCH関数などで探せば 行番号は把握できるのでは?

camerabook
質問者

補足

色々と調べ、VBAを使って自己解決いたしました。 (「集計機能」により、A列に"集計"の文字あり) これがベストの方法かどうかはわかりませんが、 他の方の参考までにのせておきます。 ありがとうございました。 Sub test() Dim LastRow As Long Dim x, y LastRow = Cells(Application.Rows.Count, "A").End(xlUp).Row x = 1 Do If Right(Cells(x, 1), 1) = "計" Then Cells(x, 3) = Cells(x, 1) / Cells(x, 2) Next End If x = x + 1 Loop Until x = LastRow End Sub

noname#79209
noname#79209
回答No.3

#1です。 > C列が空白だったら(=A3/B3)という式を組み込めばいい そんなことを考えなくても A3,B3に値を放り込んでいるのなら、その行番号は取得されているハズなので、 A3,B3に入れるときにそれぞれの値を変数に保存して、その変数を使って割り算を行った上で A3,B3を入れるときに使った行番号で、値を放り込めば良いだけのように思えますが...

camerabook
質問者

補足

>A3,B3に値を放り込んでいるのなら、その行番号は取得されているハズなので、 A3,B3は先ほどご説明したエクセルの「集計」機能を使って、 値を自動取得しているので 私自身、行番号は取得できておりません。 取得できていれば解決できる問題なのですが・・

noname#79209
noname#79209
回答No.2

#1です。 「集計機能」と言われているのが、SUM関数で 現実に3行目に「4」「9」が表示されているなら。#1で言ったように =A3/B3 ですので、何か別の深ーい事情があるのでしょうか?

camerabook
質問者

補足

集計機能といっているのは、 エクセルの上メニュー「データ」から選択できる「集計」のことで SUM関数は使っておりません。 サンプルでは単純な表をあげましたが、 実際には上記で示した「集計」機能を使い、 項目別に合計を差し込む形の表を作成しているため、 割合の列だけうまくいかない状況です。

noname#79209
noname#79209
回答No.1

単純に =A3/B3 ではいけないのですか?

camerabook
質問者

補足

説明不足で申し訳ございません。 すべて自動で作成、完成できる表を作成しています。 集計機能も現在VBAに組み込んで使っています。 範囲を指定して C列が空白だったら(=A3/B3)という式を組み込めばいいのですよね。 その式の組み込み方がわかれば、教えていただきたいのですが・・

関連するQ&A