Excel VBA SMALL関数を使って○番目に小さい値を取得する

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

VBAでsmall関数

VBAでsmall関数

  

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関数

VBAでsmall関数

 

VBAではなく、ワークシートのセルにSMALL関数を書き込む場合はこちら
Excel データの中で○番目に小さい値を取得する-SMALL関数

 

< スポンサーリンク >※広告先のお問い合わせは広告主様にお願いします