![](/img/trans.png)
[英]How to calculate a new column using individual values of other columns in a formula?
[英]How to calculate the average of a column using other columns as a reference using excel
我在 excel year
、 month
value
中有三列。
我想考虑month
和year
的value
。 在 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.