2015-04-19 61 views
1

Image for reference中位數/平均不返回正確的價值觀

enter image description here

我試圖實現以下目標: 如果(單元格A1在列表1中),對於每一行中它的發現和if(C4:C10 > B4:B10),然後median(the subtraction between C and B values, for every row that has text1)

我已經嘗試了兩種不同的2公式:

1 - {=MEDIAN(IF(AND((C4:C10>B4:B10);(B4:B10=A1));(C4:C10-B4:B10)))}

2 - {=MEDIAN((C4:C10>B4:B10)*(B4:B10=A1)*(C4:C10-B4:B10))}

中值,它始終返回0,對於一般的說是不準確的非常小的值。我確定中位數和平均數不正確。

問題是什麼?

另外,我怎麼會使用類似: {=MEDIAN((C4:C10>B4:B10)*(B4:B10=A1)*(C4:C10-B4:B10))}

如果一個列有一些行中的文本? (前者的問題並非如此,但之前已出現)。


text1     

list 1  list 2  list 3 
text2  1   5 
text4  2   4 
text1  4   6 
text4  1   6 
text1  4   5 
text4  2   4 
text1  3   3 
+0

但在您的示例中,C中的值都不比B中的大。我是否錯過了某些內容?它不符合你的第二個標準! – AHC

回答

3

在這些類型的公式不能使用AND功能,因爲AND返回單個結果(TRUEFALSE)不是作爲所需的陣列。

您的第二個公式更接近,但是通過將所有條件相乘,您將在條件不滿足的每一行都得到零,從而扭曲結果。

您可以使用這些類似的版本中的任一種:

=MEDIAN(IF((C4:C10>B4:B10)*(A4:A10=A1);C4:C10-B4:B10))

=MEDIAN(IF(C4:C10>B4:B10;IF(A4:A10=A1;C4:C10-B4:B10)))

都需要與CTRL + SHIFT確認 + ENTER

要處理列中的文本或C(並以制忽略這些行,但工作,否則)你可以添加這樣

=MEDIAN(IF(C4:C10>B4:B10;IF(A4:A10=A1;IF(ISNUMBER(C4:C10-B4:B10);C4:C10-B4:B10))))

額外IF函數的所有公式將AVERAGE功能工作不到位的MEDIAN

同樣出色

另一種方式來獲得MEDIAN而忽略了文字使用AGGREGATE功能如下:

=AGGREGATE(17;6;C4:C10-B4:B10/(C4:C10>B4:B10)/(A4:A10=A1);2)

這不需要「數組條目」,但只能在Excel 2010或更高版本中使用。有沒有簡單的等效爲AVERAGE

17表示QUARTILE功能 - 第二四分位數的中位數

相當於附見屏幕截圖,展示您的樣本數據的最後兩個公式....和一些額外的文本

Excel screenshot

+0

是不是讓列B與列A混淆?列A包含需要匹配的文本值** A1 **而不是列B.因此,在您的公式中,它們應該替換爲** A4:A10 = A1 ** – AHC

+0

我只使用了相同的單元格引用在問題 –

+0

的公式中是的,但問題中的公式是錯誤的!這個問題的來源文本是錯誤的。它應該糾正。此外,單元格不能有與A1的文本值相匹配的文本值,同時也要減去! – AHC

1

假設在column C值即表3比大於column B表2,則可以使用下面的公式:

=MEDIAN(IF((A4:A10=A1)*(C4:C10>B4:B10);C4:C10-B4:B10)) 



這是一個數組公式,所以pr ess ctrl + shift + 輸入來計算公式。 告訴我它是否無效。