如果我有一个列有名字而另一个列有付费,是否可能。即。
John $120 John $100 Sally $90 Sally $100 Sally $80
从第2列中提取John和Sally的值,然后对它们求平均值并将结果放入另一列的两个单元格中?我可以使用电子表格命令,还是需要VBA自动执行此操作。
答案 0 :(得分:3)
您可以使用
AVERAGEIFS
(适用于x107及以后)如果您的数据位于A2:B6
,那么D1
中的此公式(C1
中的“John”)可以正常工作
=AVERAGEIFS($B$2:$B$6,$A$2:$A$6,D1)
答案 1 :(得分:0)
如果您需要使用电子表格来处理早于2007年的Excel版本,您还可以使用以下公式:
=SUM(($D$1=$A$2:$A$6)*($B$2:$B$6)) / COUNTIF($A$2,$D$1)
这是一个数组公式,所以在输入时你需要按CTRL + SHIFT + ENTER而不是ENTER。
该公式适用于 brettdj 的答案中的示例表,其中
通过计算B2:B6中值的总和,其中相应的A2:A6值为John,然后除以A2中的Johns总数:A6,返回平均值。
答案 2 :(得分:0)
如果您使用分号(;)而不是逗号(,),它可以完美地工作,如下所示:
=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!