2016-05-16 93 views
0

我想根據藻類組(B列)和月份(收集日期在第1行)計算藻類計數的平均值(和其他彙總統計數據)。前幾列和行是這樣的:基於行和列值的Excel平均值

row B---------------------C-------------------D 

Algal Group -------6/5/2000 ----------7/5/2000-----etc. 

Cyanobacteria-------5---------------------60   
Bacillariophyta-------2---------------------40  
Xanthophyta-------[blank]---------------30  

我使用標準AVERAGEIFS與月forumla結合試過,但我認爲時間的行把它扔了。我也嘗試在日期(即第2行)之下插入一行,第1行中的收集日期的月份,並在AVERAGEIFS中引用該列。那也行不通。我也嘗試將它作爲數組公式輸入。日期是C1:DW1,藻類組是B2:B246。任何想法都非常感謝!

+0

這些填充公式嗎?如在空白處是真正的空白沒有公式? –

+0

它們是難以輸入的值,所以空白單元格確實是空白的。 – KRD

回答

1

使用陣列式是這樣的:

=AVERAGE(IF((MONTH($C$1:$E$1)=H8)*($B$2:$B$4=H9)*($C$2:$E$4<>""),$C$2:$E$4)) 

作爲它需要用Ctrl-Shift鍵輸入來確認的數組。如果做得正確,Excel將在公式周圍放置{}

enter image description here

+0

完美運作。謝謝!你介意解釋爲什麼你需要在公式中使用星號(*)? – KRD

+0

IF語句的條件部分是三個TRUE/FALSE語句。數學中的TRUE/FALSE可分別用作1/0。所以我有一個帶有三個變量的數學語句,如果有任何返回false,它會解析爲0,因爲任何乘以0的值都是零,對於IF語句來說這個值爲FALSE。因此,要返回TRUE,所有三個都必須爲TRUE。 '*'是乘法。因此,當所有三個都爲TRUE時,它將解析爲「1 * 1 * 1 = 1」,Excel將「1」讀取爲TRUE。 –

+0

明白了 - 謝謝! – KRD