Home » エクセルマクロ・Excel VBAの使い方 » WorksheetFunction » Excel VBAで中央値を求める

動作検証バージョン:Windows 11 Home + 64bit Excel バージョン 2507(ビルド19029.20184クイック実行)

「vba 中央値」
といった検索キーワードで時折アクセスがあります。

Excel VBAならば、WorksheetFunctionオブジェクトのMedianメソッドを使うのが簡単なコードで済みます。

[スポンサードリンク]

セルに入力されている値の中央値を求めるサンプルマクロ

A1:A5セルに数値が入力されている状態で以下のExcelマクロを実行すると、A1:A5セルの中央値がメッセージボックスに表示されます。

Sub ExcelVBAで中央値を求める__セル範囲から()
 
 MsgBox _
  WorksheetFunction.Median(Range("A1:A5"))

End Sub

配列から中央値を求めるサンプルマクロ

配列から中央値を求めることもできます。

Sub ExcelVBAで中央値を求める__奇数個の配列から()

 Dim arr(1 To 3) As Long
 arr(1) = 1
 arr(2) = 22
 arr(3) = 333

 MsgBox _
  WorksheetFunction.Median(arr)

End Sub

上記のマクロでは「22」がメッセージボックスに表示されます。

元データが偶数個の場合

元のデータが偶数個の場合には、真ん中の2つの数値の平均が返されます。

Sub ExcelVBAで中央値を求める__偶数個の配列から()

 Dim arr(1 To 4) As Long
 arr(1) = 1
 arr(2) = 20
 arr(3) = 30
 arr(4) = 444

 MsgBox _
  WorksheetFunction.Median(arr)

End Sub

上記のマクロを実行したときいは、「20」と「30」の平均である「25」がメッセージボックスに表示されます。

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » WorksheetFunction » Excel VBAで中央値を求める

「WorksheetFunction」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.