![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
エクセルに入力されている数値表です。
数行ごとに1行の空白行があり、それをブロックと呼ぶ事にします。
そのブロックのBF列にある数値をブロックごとに集計し、そのブロックの最大値の割合を出す良い方法(関数やマクロ)を教えていただけないでしょうか。計算値はBF列、BG列でなくても構いません。よろしくお願いします。
BF列
5
7→最大値
2
4
6
6
(空白行)計30、7/30→(この「30、0.233」がほしい)
4
3
5
6→最大値
(空白行)計18、6/18→(この「18、0.333」がほしい)
No.4ベストアンサー
- 回答日時:
No.2 の補足
・BF列にタイトル行などがあった場合は「For 対象行 = 1 To 最終行」の「1」を適当に変更して下さい。
・また先頭が空欄だったり、2行以上空欄が続くことが有るなら以下のようにしてください。
(最終行を「1」加えてループ後の処理を不要にもしています)
Sub Sample()
Dim 合計 As Variant
Dim 最大 As Variant
Dim 対象行 As Long
Dim 最終行 As Long
最終行 = Cells(Rows.Count, 58).End(xlUp).Row + 1
For 対象行 = 1 To 最終行
If Cells(対象行, 58).Value = "" Then
If 合計 <> 0 Then
Cells(対象行, 58).Value = 合計
Cells(対象行, 59).Value = 最大 / 合計
最大 = 0
合計 = 0
End If
Else
合計 = 合計 + Cells(対象行, 58).Value
If 最大 < Cells(対象行, 58).Value Then 最大 = Cells(対象行, 58).Value
End If
Next
End Sub
No.3
- 回答日時:
一例です。
BF・BGに結果を出してます。
Sub try()
Dim r As Range
For Each r In Range("BF1", Cells(Rows.Count, "BF").End(xlUp)).SpecialCells(xlCellTypeConstants, xlNumbers).Areas
With WorksheetFunction
r.Offset(r.Rows.Count).Resize(1, 2).Value = _
Array(.Sum(r), Int(.Max(r) / .Sum(r) * 1000) / 1000)
End With
Next
End Sub
ありがとうございます。求める結果が得られました。申し訳ありませんが、先に御回答いただいた方をベストアンサーとさせていただきます。
No.2
- 回答日時:
マクロでしたらこんな感じでしょうか?
Sub Sample()
Dim 合計 As Variant
Dim 最大 As Variant
Dim 対象行 As Long
Dim 最終行 As Long
最終行 = Cells(Rows.Count, 58).End(xlUp).Row
For 対象行 = 1 To 最終行
If Cells(対象行, 58).Value = "" Then
Cells(対象行, 58).Value = 合計
Cells(対象行, 59).Value = 最大 / 合計
最大 = 0
合計 = 0
Else
合計 = 合計 + Cells(対象行, 58).Value
If 最大 < Cells(対象行, 58).Value Then 最大 = Cells(対象行, 58).Value
End If
Next
Cells(対象行, 58).Value = 合計
Cells(対象行, 59).Value = 最大 / 合計
End Sub
御回答ありがとうございます。以下のメッセージで中断します。再度アドバイスいただけないでしょうか。
実行時エラー'13':
型が一致しません。
合計 = 合計 + Cells(対象行, 58).Value(→この部分が黄色で示されています)
No.1
- 回答日時:
一つずつROWS関数とMAX関数にセルの範囲を設定すれば良いと思うんだ。
1000個の範囲があっても、1時間くらいあれば終わるだろ?
Shiftキーを押しながら↓キーを押せば、連続した範囲を選択できる。
(Shift+↓)
Ctrlキーを押しながら↓キーを押すと、アクティブだったセルと同じ状態(空か空でないか)の最後のセルまでジャンプする。
(Ctrl+↓)
この組み合わせを使えば、値が入力されている範囲を一瞬で指定できる。
(Shift+Ctrl+↓)
がんばれ。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルの表でダブりを解消する方法を、教えてください。 5 2023/04/12 12:11
- Excel(エクセル) エクセル 自動計算 1 2023/01/30 13:28
- Visual Basic(VBA) エクセルVBAで『A列』に新規で数値を入力し『B列』から右方向の空白セルにその値を貼り付ける方法 4 2022/11/05 08:37
- Visual Basic(VBA) Excel VBA マクロ ある列の最終行迄を参照し、別の列の空白セルに値を入力したいです 2 2023/03/05 02:44
- Excel(エクセル) 特定文字(数字)で行挿入、挿入された行で合計したい 2 2023/03/13 14:30
- Excel(エクセル) 列の複数ある空白セルを飛ばして、セルに並べて表示したい 3 2023/02/12 16:49
- Excel(エクセル) スプレットシートでA1~G1にデータが入っていて、 それを1列ずつ空けて表示する関数がわかる方いまし 4 2022/08/25 09:39
- Visual Basic(VBA) セルに抜けた番号の代わりに空白を挿入する 4 2023/04/10 20:29
- Excel(エクセル) データ入力規則リスト 空白を無視 3 2022/07/13 15:11
- Excel(エクセル) エクセルで最初に値が入っているセルを見つける方法はありますか? 2 2023/07/18 14:58
このQ&Aを見た人はこんなQ&Aも見ています
-
「環境が人を育てる」って本当?環境によって人格や生き方は本当に変わるのか
環境が人生に与える影響は実際どれほどのものなのか、専門家の田宮由美さんに伺った。
-
空白セルから空白セル間の計算方法
その他(Microsoft Office)
-
EXCELマクロを使い、空白行ではさまれた範囲の数字を合計
Excel(エクセル)
-
エクセル 空白セルまでの合計値を求める方法
Excel(エクセル)
-
-
4
空白セルまでの合計を求める方法
その他(Microsoft Office)
-
5
エクセル マクロで数値が変った時行挿入できますか
Excel(エクセル)
-
6
特定の条件の時に行を挿入したい
Excel(エクセル)
-
7
Excelで、セル範囲(自分の1行下:空白セルの上)、を求めることできますか?
Excel(エクセル)
-
8
excel2000で特定セルから空セルの前までの行数を数えたい
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAで色の付いているセルの行削除
-
エクセル マクロ オートフィ...
-
[EXCEL]ボタン押す→時刻が表に...
-
エクセルで特定の文字列が入っ...
-
エクセル2016で時間を入力して...
-
特定の文字がある行以外を削除...
-
セルの色によって条件文をつけ...
-
AのセルとB行を比較して、一致...
-
excelのデータで色つき行の抽出...
-
Excel2007で、指定範囲の行高さ...
-
エクセル マクロで数値が変っ...
-
エクセルVBA 最終行を選んで並...
-
excel 小さすぎて見えないセル...
-
【Excel関数】UNIQUE関数で"0"...
-
結合されたセルをプルダウンの...
-
エクセル 上下で列幅を変えるには
-
excel 同じ番号のデーターを横...
-
EXCEL 「最後のセル」のリセット
-
電話番号の入力方式が違うデー...
-
エクセルマクロで偶数行(又は...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセル マクロ オートフィ...
-
エクセルで特定の文字列が入っ...
-
[EXCEL]ボタン押す→時刻が表に...
-
【Excel関数】UNIQUE関数で"0"...
-
特定の文字がある行以外を削除...
-
Excel グラフのプロットからデ...
-
excelのデータで色つき行の抽出...
-
AのセルとB行を比較して、一致...
-
結合されたセルをプルダウンの...
-
エクセル マクロで数値が変っ...
-
エクセル 上下で列幅を変えるには
-
VBAで色の付いているセルの行削除
-
excel 小さすぎて見えないセル...
-
A1に入力された文字列と同じ文...
-
罫線の斜線を自動で引くマクロ
-
アクティブになっている行をマ...
-
エクセル2016で時間を入力して...
-
EXCELマクロを使い、空白行では...
-
エクセルマクロで偶数行(又は...
-
セルの色によって条件文をつけ...
おすすめ情報