2012-10-31 80 views
3

如果我有一列名稱和另一列有薪酬,是否可能?即EXCEL提取和列的平均值

John  $120 
John  $100 
Sally $90 
Sally $100 
Sally $80

爲John和Sally提取第2列的值,然後對它們進行平均並將結果放入另一列的兩個單元格中?我可以使用電子表格命令還是需要VBA自動執行此操作?

回答

3

你可以使用任何

  1. AVERAGEIFS(用於xl07及以後)
  2. 數據透視表看到Debra's site一個很好的參考

如果你的數據在A2:B6那麼這個公式D1(與「約翰」在C1)作品
=AVERAGEIFS($B$2:$B$6,$A$2:$A$6,D1)

enter image description here

0

如果您需要您的電子表格早於2007年,Excel版本工作,你也可以使用這個公式:

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

這是一個數組公式,所以你需要按CTRL + SHIFT + ENTER而不是隻輸入它時。

的公式的工作原理與樣品表中brettdj的回答,這裏的名字的

  • 名單是在A2:值的A6
  • 名單是在B2:B6
  • 「約翰「在D1中
  • 該公式進入E1(或實際上任何地方)。

它通過計算B2:B6中相應的A2:A6值爲John,然後除以A2:A6中返回平均值的Johns總數得到。

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!