Excel从列中提取和平均值
如果我有一列有名字而另一列有薪水,有可能吗? 即
约翰$ 120 约翰$ 100 莎莉$ 90 莎莉$ 100 莎莉$ 80
为John和Sally提取第2列的值,然后对它们进行平均,并将结果放入另一列的两个单元格中? 我可以使用电子表格命令还是需要VBA自动执行此操作?
你也可以使用
-
AVERAGEIFS
(x107及以上) - 数据透视表参见Debra的网站 ,以供参考
如果您的数据在A2:B6
那么D1
这个公式( C1
“John”)起作用
=AVERAGEIFS($B$2:$B$6,$A$2:$A$6,D1)
如果您需要电子表格与2007版以前的Excel版本一起使用,则还可以使用以下公式:
=SUM(($D$1=$A$2:$A$6)*($B$2:$B$6)) / COUNTIF($A$2,$D$1)
这是一个数组公式,所以在input时需要按CTRL + SHIFT + ENTER而不是ENTER。
公式与brettdj的答案中的样本表一起工作 ,其中
- 名单列表在A2:A6
- 值列表在B2:B6中
- “约翰”在D1
- 这个公式进入E1(或实际上任何地方)。
它通过计算B2:B6中相应的A2:A6值为John的值的总和,然后除以A2:A6中的Johns总数得出平均值。
如果您使用分号(;)而不是逗号(,),则它可以很好地工作,如下所示:
=AVERAGEIFS($B$2:$B$6,$A$2:$A$6,D1) - it doesn't work, =AVERAGEIFS($B$2:$B$6;$A$2:$A$6;D1) - it works!