Excel VBAで○番目に大きい値を取得する記録です。
ワークシート関数の「LARGE」を使います。
< スポンサーリンク >
「LARGE」関数構文
WorksheetFunction.Large(Arg1, Arg2)
1組のデータの中で○番目に大きなデータを返します。この関数を利用すると、相対的な順位に基づいて、データの中から特定の値を選択することができます。
Arg1=必須。範囲。抽出の対象となるデータが入力されているセル範囲または配列を指定します。
Arg2=必須。順位。抽出する値の大きい方から数えた順位を数値で指定します。
「LARGE」関数の使用例
B1~B6の中で2番目に大きいデータをメッセージで表示します。
Sub test()
MsgBox WorksheetFunction.Large(ActiveSheet.Range("B1", "B6"), 2)
End Sub
B~Dの各列の2~6行目の中で3番目に大きいデータを7行目に入力します。
Sub test()
Dim ws As Worksheet
Dim i As Long
'変数にアクティブシートをセット
Set ws = ActiveSheet
With ws
'A7に項目名を入力
.Range("A7").Value = "3番目に大きい"
'2~6行目の中で3番目に大きいデータを7行目に入力
For i = 2 To 4
.Cells(7, i).Value = WorksheetFunction.Large(.Range(.Cells(2, i), .Cells(6, i)), 3)
Next i
End With
End Sub
VBAではなく、ワークシートのセルに書き込む場合はこちら
『Excel データの中の○番目に大きい値を取得する-LARGE関数』
Excelで選択範囲にあるデータの中で○番目に大きい値を調べたいときには、「LARGE」関数を使います。 下図はExcel2016、サンプルデータです。 LARGE関数 指定されたデータの中で○番目に大きなデータを返しま …
こんな記事も書いています