/ / Excel VBAのカスタム平均関数

Excel VBAでのカスタム平均関数

以下では、 Excel VBA これは ユーザー定義関数 その 平均 平均値ではない外れ値である1つ以上の値を除いてランダムに選択された範囲の値。

状況:

Excel VBAでのカスタム平均関数

ユーザー定義の関数をモジュールに配置する必要があります。

1. Visual Basic Editorを開き、Insert、Moduleをクリックします。

2.次のコード行を追加します。

Function CUSTOMAVERAGE(rng As Range, lower As Integer, upper As Integer)

私たちの機能の名前はCUSTOMAVERAGEです。 括弧内の部分は、Excel VBAに範囲と2つの整数変数を入力として与えることを意味します。私たちは範囲の名前をrng、lowerという1つの整数変数、upperという1つのInteger変数の名前を付けますが、任意の名前を使用できます。

3.次に、RangeオブジェクトとInteger型の2つの変数を宣言します。 Rangeオブジェクトセルを呼び出します。 1つのInteger変数と、1つのInteger変数を呼び出します。

Dim cell As Range, total As Integer, count As Integer

4.ランダムに選択された範囲内の各セルをチェックしたい(この範囲は任意のサイズでよい)。 Excel VBAでは、For Each Nextループを使用することができます。次のコード行を追加します。

For Each cell In rng

Next cell

注:ここではrngとcellをランダムに選択していますが、任意の名前を使用できます。残りのコードでこれらの名前を参照することを忘れないでください。

5。 次に、2つの値(下限と上限)の間にある場合、この範囲内の各値をチェックします。 trueの場合、totalの値をセルの値だけインクリメントし、countを1だけインクリメントします。次のコード行をループに追加します。

If cell.Value >= lower And cell.Value <= upper Then
    total = total + cell.Value
    count = count + 1
End If

6.この関数の結果(希望の平均値)を返すには、ループ外に次のコード行を追加します。

CUSTOMAVERAGE = total / count

7.関数を終了することを忘れないでください。行を追加してください:

End Function

8.今度は、この関数を他のExcel関数と同様に使用して、2つの値の間の数値の平均を計算することができます。

結果:

カスタム平均関数結果

チェックとして、すべての値を削除することができますExcelの標準平均関数を使用して、Excelがカスタム平均関数と同じ平均を計算するかどうかを確認します。

カスタム平均機能チェック

私たちのカスタム平均機能が動作します!注:この機能はこのワークブックでのみ使用できます。

また読む: