繁体   English   中英

如何使用excel以其他列为参考计算一列的平均值

[英]How to calculate the average of a column using other columns as a reference using excel

我在 excel yearmonth value中有三列。

我想考虑monthyearvalue 在 R 语言中,这个 function 是由 group_by() 完成的。 在 excel 这怎么可能呢?

year    month   value
2019    1   12
2019    1   34
2019    2   56
2019    2   15
2020    1   16
2020    3   67
2020    4   89
2018    6   123
2018    6   45
2018    7   98
2019    3   53
2019    1   23
2020    1   12
2020    3   1

如果有 Office 365,我们可以使用:

=LET(
    y,A2:A15,
    m,B2:B15,
    v,C2:C15,
    u,SORT(UNIQUE(CHOOSE({1,2},y,m)),{1,2}),
    CHOOSE({1,1,2},u,AVERAGEIFS(v,y,INDEX(u,0,1),m,INDEX(u,0,2))))

将它放在第一个单元格中,它会溢出结果。

在此处输入图像描述

一旦 HSTACK 被释放,我们就可以用它替换 CHOOSE:

=LET(
    y,A2:A15,
    m,B2:B15,
    v,C2:C15,
    u,SORT(UNIQUE(HSTACK(y,m)),{1,2}),
    HSTACK(u,AVERAGEIFS(v,y,INDEX(u,0,1),m,INDEX(u,0,2))))

Averageifs会做你想做的事,但你可能想查看使用过滤器 function来复制 Group_By() 方法以用于其他类似过程。 分组后,您可以求和/平均/排序等。

平均值:

=AVERAGEIFS(C:C,A:A,2018,B:B,6)

筛选:

=filter(C:C,(A:A=2018)*(B:B=6))
=Average(filter(C:C,(A:A=2018)*(B:B=6)))

有关两者的示例,请参阅此电子表格 我知道您使用的是 Excel,但这些公式应该适用于两者(尽管它们不一样)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM