
Excel VBAでワークシート関数の「SMALL」を使って○番目に小さい値を取得する記録です。
< スポンサーリンク >
「SMALL」関数構文
WorksheetFunction.Small(Arg1, Arg2)
1組のデータの中で○番目に小さなデータを返します。この関数を利用すると、相対的な順位に基づいて、データの中から特定の値を選択することができます。
Arg1=必須。範囲。抽出の対象となるデータが入力されているセル範囲または配列を指定します。
Arg2=必須。順位。抽出する値の小さい方から数えた順位を数値で指定します。
「SMALL」関数の使用例
B1~B6の中で2番目に小さいデータをメッセージで表示します。
Sub test()
MsgBox WorksheetFunction.Small(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.Small(.Range(.Cells(2, i), .Cells(6, i)), 3)
Next i
End With
End Sub
VBAではなく、ワークシートのセルにSMALL関数を書き込む場合はこちら
『Excel データの中で○番目に小さい値を取得する-SMALL関数』
Excelで選択範囲にあるデータの中で最小値ではなく、3番目や5番目などの○番目に小さい値を調べたいときには、「SMALL」関数を使います。 下図はExcel2016、サンプルデータです。 SMALL関数 指定されたデー …
こんな記事も書いています