2017-05-25 299 views
0

我有兩列值。 A列都有一系列用作標識符的數字,B列的值取值範圍爲1到5,也包含空白值。我想計算列A中每組標識符的列B的平均值,但前提是列B中列A中相應標識符的所有值都存在(列A已排序)。我已經包含一張圖片: excel listExcel:計算列A的相同值的列B的平均值,其中列B的所有值都對應相同的A值

由於圖片顯示的值爲2877040366,因此B列中的所有值都已填充,但其上方的值351856821尚未填充。是否有可能在C列的行一再顯示所有值的列B中平均2877040366而不是351856821.

+0

AVERAGEIF功能可以幫助你 –

+0

不知道AVERAGEIF足夠在這裏,因爲它不應該計數是否有空白。但是,你接受VBA嗎?爲此構建VBA UDF似乎更容易。 – Andreas

+0

如果VBA可以工作,那麼是的,這是我用過的一段時間。嘗試平均,但沒有運氣。 –

回答

0

使用此在C1和拖下來:

=IFERROR(AVERAGEIFS(B:B,A:A,A1,B:B,"<>"&""),0) 

通過以上公式如果沒有標識符的值(全部爲空),它將返回一個0.您可以修改上述公式以進一步滿足您的需求。

編輯:

請嘗試以下方法返回一個值,只有當所有的標識符有:

=IF(AVERAGEIFS(B:B,A:A,A1,B:B,"<>"&"")=SUMIF(A:A,A1,B:B)/COUNTIF(A:A,A1),AVERAGEIFS(B:B,A:A,A1,B:B,"<>"&""),"") 
+0

這實際上給了我按列A中的值分組的平均值。但是,當我僅搜索列B(與列A的值相關)均爲滿的平均值時,它會給出所有組的平均值in。 –

+0

@Nick Kyndt您能否給出2877040366和351856821的預期輸出? –

+0

對於2877040366計算得出的值是2,857,預期值是2,857。對於351856821,計算值爲2,571,但由於不是所有的B值都被填入,因此預期值無法確定。我不需要平均不完整的集合,因此需要省略的原因。 –

相關問題