3

如果我有一列有名字,另一列有工资,有可能吗?IE

约翰 120 美元  
约翰 100 美元  
莎莉 $90  
莎莉 100 美元  
莎莉 $80

从第 2 列中提取 John 和 Sally 的值,然后将它们平均并将结果放入另一列的两个单元格中?我可以使用电子表格命令还是需要 VBA 自动执行此操作。

4

3 回答 3

3

你可以使用

  1. AVERAGEIFS(适用于 xl07 及更高版本)
  2. 数据透视表请参阅Debra 的网站以获得很好的参考

如果您的数据在其中,A2:B6则此公式D1(在 中带有“John” C1)有效
=AVERAGEIFS($B$2:$B$6,$A$2:$A$6,D1)

在此处输入图像描述

于 2012-10-31T05:26:13.910 回答
0

如果您需要您的电子表格使用早于 2007 年的 Excel 版本,您也可以使用以下公式:

=SUM(($D$1=$A$2:$A$6)*($B$2:$B$6)) / COUNTIF($A$2,$D$1)

这是一个数组公式,因此您需要在输入时按 CTRL+SHIFT+ENTER 而不是 ENTER。

该公式适用于brettdj答案中的示例表,其中

  • 姓名列表在 A2:A6 中
  • 值列表在 B2:B6 中
  • “约翰”在 D1
  • 这个公式进入 E1 (或任何地方,实际上)。

它的工作原理是计算 B2:B6 中对应的 A2:A6 值为 John 的值的总和,然后将其除以 A2:A6 中的 John 总数,返回平均值。

于 2012-11-06T14:32:10.323 回答
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!
于 2013-03-21T11:18:25.627 回答