OfficeType

VBA~WorksheetFunction.PercentRankメソッド~Excel

VBAで配列の一番小さい値を0、一番大きい値を1としたときの、指定した値の百分率を求めたい場合はWorksheetFunction.PercentRankメソッドを使います。

書き方

WorksheetFunction.PercentRank(範囲,値,桁数)

桁数は省略可能です。

例として下の画像において下のコードを実行するとセルB2からセルB10の範囲で一番小さい値57を0とし、一番大きい値97を1としたときにB列の値の百分率をC列に表示します。

image-01

Sub test1()

Dim a As Long

For a = 2 To 10

Cells(a, 3) = WorksheetFunction.PercentRank(Range(Cells(2, 2), Cells(10, 2)), Cells(a, 2))

Next

End Sub

image-02