我有一个数据集,其中每个类别中的值的数量不同 . 我希望excel自动对一个类别中的值进行分组并计算平均值 . 例如,见下文:
示例数据集的屏幕截图
如您所见,X1有三个值,而X2只有一个值,X3有三个值 . 我希望excel返回“Average”列中显示的每个类别的平均值 .
如果您可以在类别列之前使用帮助列,则可以使用以下内容:
以下是使用的公式:
辅助列将根据类别对行进行编号,并在每次更改类别时增加编号 . 平均列使用averageif公式,该公式使用编号作为标准 .
您可以进一步格式化辅助列,使其不可见 .
间接功能可以帮助...如果您知道第1列中的下一个标签,您可以这样做......
假设类别是列A,X1是行2
范围("C1") =AVERAGE(INDIRECT("B"&ROW()&":B"&MATCH("X2",A:A)-1))范围("C2") =AVERAGE(INDIRECT("B"&ROW()&":B"&MATCH("X3",A:A)-1))为了你的最后......范围("C3") =AVERAGE(INDIRECT("B7:B"&COUNTA(B:B)))
=AVERAGE(INDIRECT("B"&ROW()&":B"&MATCH("X2",A:A)-1))
=AVERAGE(INDIRECT("B"&ROW()&":B"&MATCH("X3",A:A)-1))
=AVERAGE(INDIRECT("B7:B"&COUNTA(B:B)))
如@tigeravatar所述,fill in the gaps如补充文件中所述,您将拥有更容易使用的数据 . 例如,只需应用小计(在每次更改时: Category ,使用函数 Average ,将小计添加到: Value ) .
Category
Average
Value
或者,申请AVERAGEIF .
3 回答
如果您可以在类别列之前使用帮助列,则可以使用以下内容:
以下是使用的公式:
辅助列将根据类别对行进行编号,并在每次更改类别时增加编号 . 平均列使用averageif公式,该公式使用编号作为标准 .
您可以进一步格式化辅助列,使其不可见 .
间接功能可以帮助...如果您知道第1列中的下一个标签,您可以这样做......
假设类别是列A,X1是行2
范围("C1")
=AVERAGE(INDIRECT("B"&ROW()&":B"&MATCH("X2",A:A)-1))
范围("C2")
=AVERAGE(INDIRECT("B"&ROW()&":B"&MATCH("X3",A:A)-1))
为了你的最后......
范围("C3")
=AVERAGE(INDIRECT("B7:B"&COUNTA(B:B)))
如@tigeravatar所述,fill in the gaps如补充文件中所述,您将拥有更容易使用的数据 . 例如,只需应用小计(在每次更改时:
Category
,使用函数Average
,将小计添加到:Value
) .或者,申请AVERAGEIF .