使用此陣列式:
=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將在公式周圍放置{}
。
注意事項:
- 在Sheet2上的名單必須在A列
- 人354如果查找不在該列表會按字母順序返回前一個值上。
爲應對第二個警告上面我們可以添加另一個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列升序排列