vba 获取每天多次回复的平均每日得分
vba get the average daily score for multiple responses per day
我有这样的数据:
date v1 v2 v3 v4
1/16/2015 5 5 5 5
1/22/2015 5 2 5 5
1/22/2015 5 2 5 5
1/23/2015 5 5 5 5
1/23/2015 5 5 5 5
1/23/2015 5 5 5 5
1/24/2015 5 5 5 5
1/24/2015 5 5 5 5
1/25/2015 5 4 5 5
我需要输出每天每个值(v1、v2、v3、v4)的平均分数。我在另一个工作表中输出了一个唯一的日期列表,如下所示:
date avg val 1 avg val 2 avg val 3 avg val 4
1/16/2015
1/22/2015
1/23/2015
1/24/2015
1/25/2015
我如何遍历每个唯一日期的 v1 的所有值,对它们进行平均,然后将该数字输入到其匹配日期的平均列中?
当 header 标签匹配时,为此使用公式通常效果更好,因此您不必在 cross-referenced 中硬编码条件。
=AVERAGEIFS(INDEX($B:$E, , MATCH(H, $B:$E, 0)), $A:$A, $G2)
使用修改后的 header 标签(如图所示),可以向右和向下填充。如果您想保留样本 header 标签(不同于数据 table),您将必须 hard-code V1、V2,等等进入MATCH
函数。
公式使用 INDEX
和 MATCH
提供列,AVERAGEIFS
负责日期标准。 AVERAGEIF
可以使用,但语法略有不同。
我有这样的数据:
date v1 v2 v3 v4
1/16/2015 5 5 5 5
1/22/2015 5 2 5 5
1/22/2015 5 2 5 5
1/23/2015 5 5 5 5
1/23/2015 5 5 5 5
1/23/2015 5 5 5 5
1/24/2015 5 5 5 5
1/24/2015 5 5 5 5
1/25/2015 5 4 5 5
我需要输出每天每个值(v1、v2、v3、v4)的平均分数。我在另一个工作表中输出了一个唯一的日期列表,如下所示:
date avg val 1 avg val 2 avg val 3 avg val 4
1/16/2015
1/22/2015
1/23/2015
1/24/2015
1/25/2015
我如何遍历每个唯一日期的 v1 的所有值,对它们进行平均,然后将该数字输入到其匹配日期的平均列中?
当 header 标签匹配时,为此使用公式通常效果更好,因此您不必在 cross-referenced 中硬编码条件。
=AVERAGEIFS(INDEX($B:$E, , MATCH(H, $B:$E, 0)), $A:$A, $G2)
使用修改后的 header 标签(如图所示),可以向右和向下填充。如果您想保留样本 header 标签(不同于数据 table),您将必须 hard-code V1、V2,等等进入MATCH
函数。
公式使用 INDEX
和 MATCH
提供列,AVERAGEIFS
负责日期标准。 AVERAGEIF
可以使用,但语法略有不同。