2016-11-15 67 views
0

我需要計算屬於某個昆蟲物種的某些特定宿主屬性的平均值。我的昆蟲這裏只是所謂的物種像圖說明書1.列mean_trait_of_hosts應計算host_species的平均特徵值1到5Excel - 計算由另一個工作表定義的單元格的平均值

工作表Sheet1 Sheet1

宿主物種所示組織進行組織像圖中所示板2和位於一張單獨的表,同一文件。 所以我認爲我需要的是一個函數,它查找表1中相應行的列B:F中的宿主物種,然後使用sheet2的值計算這些物種的平均值。不幸的是我不知道如何在Excel中做到這一點。

Sheet2中

Sheet2

任何想法?

回答

0

使用此陣列式:

=AVERAGE(IF(B2:F2<>"",LOOKUP($B2:$F2,Sheet2!$A$2:INDEX(Sheet2!A:A,MATCH("ZZZ",Sheet2!A:A)),Sheet2!$B$2:INDEX(Sheet2!B:B,MATCH("ZZZ",Sheet2!A:A))))) 

作爲一個陣列式,它必須與確認Ctrl鍵移輸入,而不是退出編輯模式時輸入。如果正確完成,Excel將在公式周圍放置{}

注意事項:

  1. 在Sheet2上的名單必須在A列
  2. 人354如果查找不在該列表會按字母順序返回前一個值上。

enter image description here


爲應對第二個警告上面我們可以添加另一個IF測試它們是否在名單上做均值之前:

=IF(SUM(COUNTIFS(Sheet2!A:A,$B2:$F2,Sheet2!A:A,"<>"))<>SUMPRODUCT(--(LEN($B2:$F2)>0)),"Host(s) not in list",AVERAGE(IF(B2:F2<>"",LOOKUP($B2:$F2,Sheet2!$A$2:INDEX(Sheet2!A:A,MATCH("ZZZ",Sheet2!A:A)),Sheet2!$B$2:INDEX(Sheet2!B:B,MATCH("ZZZ",Sheet2!A:A)))))) 

這仍然是一個數組公式。作爲一個數組公式,在退出編輯模式時必須使用Ctrl-shift-Enter而不是Enter來確認。如果正確完成,Excel將在公式周圍放置{}

在Sheet2上的數據仍然必須在A列升序排列

enter image description here

相關問題