条件に合う数値の平均値を取得する


AVERAGEIFS関数のように条件を指定し、それに合致したデータの平均値を取得したい場合は次のコードを使用します。

機能.集計.条件付き平均(ワークシート As Worksheet, 平均対象列 As Integer, 条件_列1 As Integer, 条件1, Optional 条件_列2 = 0, Optional 条件2, Optional 条件_列3 = 0, Optional 条件3)


このコードには八つの引数が必要です。

1,ワークシート As Worksheet
  値を合計するワークシート名をここで指定します。

2,平均対象列 As Integer
  平均する数値が入っている列をここで指定します。

3,条件_列1 As Integer
  条件を参照する列をここで指定します。

4,条件1
  条件をここで指定します。

5, Optional 条件_列2 = 0
  二つ目の条件を参照する列をここで指定します。この引数は省略可能です。

6, Optional 条件2
  二つ目の条件をここで指定します。この引数は省略可能です。

7,Optional 条件_列3 = 0
  三つ目の条件を参照する列をここで指定します。この引数は省略可能です。

8,Optional 条件3
  三つ目の条件をここで指定します。この引数は省略可能です。


例えば、「顧客」シートのD列に金額、E列に入金ステータス、F列に支払方法が入力されているとして、入金ステータスが入金済の金額の平均値を求めたい場合は以下のように記述します。

Dim 平均入金額
平均入金額 = 機能.集計.条件付き平均(Worksheets(“顧客”), 4, 5, “入金済”)

さらに支払方法が手形のものという条件を付けた平均を求めたい場合は、

Dim 平均入金額
平均入金額 = 機能.集計.条件付き平均(Worksheets(“顧客”), 4, 5, “入金済”, 6,”手形”)

と記述します。
このコードでは条件を三つまで指定することができます。