「excel vba 配列 平均値 ワークシート関数」
という検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。
VBA(Visual Basic for Applications)から、ワークシート関数のAVARAGEを使って、配列変数に格納されているデータの平均を計算するにはどうすればいいのかを探している方による検索でしょうか。
この検索キーワードだけでは詳細がわかりませんので、参考になりそうなサンプルマクロを3つご紹介しておきます。
ワークシート関数・AVARAGEの引数に配列を指定するサンプルマクロ
まずは1次元配列に個別に数値データを入力しておいて、AVARAGE関数で平均を計算する基本です。Dim arr(1 To 3) As Double
arr(1) = 5
arr(2) = 5
arr(3) = 5
MsgBox WorksheetFunction.Average(arr)
End Sub
添え字・インデックスが「1」はじまりで、要素数が3の、1次元の配列変数を宣言して、
Dim arr(1 To 3) As Double
配列の各要素に数値データを代入して、
arr(1) = 5
arr(2) = 5
arr(3) = 5
ワークシート関数・AVARAGEの引数に、配列を指定しています。
MsgBox WorksheetFunction.Average(arr)
ワークシート関数・AVARAGEの引数にArray関数で作られた配列を指定するサンプルマクロ
Array関数を使って1次元配列を作成して、AVARAGE関数で平均を計算する例もあげておきましょう。Dim arr As Variant
arr = Array(5, 5, 5)
MsgBox WorksheetFunction.Average(arr)
End Sub
Variant型の変数を宣言しておいて、
Dim arr As Variant
Array関数で1次元配列を作成して、
arr = Array(5, 5, 5)
ワークシート関数・AVARAGEの引数に、配列を指定しています。
MsgBox WorksheetFunction.Average(arr)
ワークシート関数・AVARAGEの引数に2次元配列を指定するサンプルマクロ
セル範囲のデータを2次元配列に格納しておいてから、AVARAGE関数で平均を計算する例もあげておきましょう。
セル範囲に数値データを入力しておいてから以下のマクロを実行すると、入力されていた数値の平均がメッセージボックスに表示されます。Dim arr As Variant
arr = Selection.Value
MsgBox WorksheetFunction.Average(arr)
End Sub
Variant型の変数をしておいて、
Dim arr As Variant
セル範囲のデータを格納して2次元配列を作成して、
arr = Selection.Value
配列変数をワークシート関数・AVARAGEの引数に指定しています。
MsgBox WorksheetFunction.Average(arr)
Home » エクセルマクロ・Excel VBAの使い方 » WorksheetFunction » VBAでAVARAGE関数の引数に配列変数を指定する