2016-09-19 67 views
0

我正在尋找將我的averageifs語句重寫爲STDEV語句。我目前有一條平均if語句,它在類型「M」內查找當前名稱「N」,並在列「A」和「B」內找到相同的類型和名稱,並將結果「C」行。將AVERAGEIFS語句重寫爲STDEV語句

=AVERAGEIFS(C:C,A:A,M4,B:B,N4) 
=AVERAGEIFS(C:C,A:A,M5,B:B,N5) 
=AVERAGEIFS(C:C,A:A,M6,B:B,N6) 
etc... 

我想對STDEV做同樣的事情,但輸入需求與STDEVIFS不同,不存在。

=STDEV(BG:BG,C:C,BL4,K:K,BM4)將給所有列的開發。我怎麼能解決這個問題,就像我的averageifs聲明一樣,但是對於STDEV。

A  B   C      M  N   O 
    x  x   x      x  x   x 
    x  x   x      x  x   x 
Type Name  Mass     Type  Name  AVG Mass 
Fruit Apple  3     Fruit Apple  4.25 
Veggie Tomato  5     Fruit Orange  6.5 
Veggie Lettuce  1     Veggie Tomato  6.333 
Veggie Tomato  7     Veggie Lettuce  2.3333 
Fruit Orange  6     Fruit Watermelon 5.5 
Fruit Apple  5     Veggie Watermelon 4 
Fruit Watermelon 5 
Veggie Watermelon 3 
Fruit Apple  3 
Fruit Apple  6 
Veggie Watermelon 5 
Fruit Watermelon 6 
Fruit Orange  7 
Veggie Lettuce  3 
Veggie Lettuce  3 
Veggie Tomato  7 

x = non included info 

回答

1

你會在我們裏面STDEV與IF(數組形式):退出時

=STDEV(IF(($A$4:$A$19=M4)*($B$4:$B$19=N4),$C$4:$C$19)) 

作爲數組公式,它必須與確認按Ctrl-Shift鍵輸入,而不是進入編輯模式。如果正確完成,Excel將在公式的周圍放置{}

數組公式與普通公式不同之處在於它們將計算引用範圍內的所有內容,因此不應使用完整的列引用。

你可以像羅恩在他的回答中所說的那樣做,並命名範圍來限制參考。或者你可以使用一個表格,它可以做同樣的事情,或者像我在這裏所做的那樣限制範圍。

enter image description here

0

您可以使用IF函數返回任何適當的值,或布爾FALSE將被忽略。因此,考慮到你的數據樣本,並且例如可能是:

=STDEV(IF((Type=M5)*(Name=N5),Mass)) 
  • 類型是在列A
  • 的命名範圍(與 CTRL + + 輸入作爲陣列式輸入)
  • 名稱是B列中的命名範圍
  • 質量是C列中的命名範圍
  • M5包含您正在尋找的類型
  • N5包含你正在尋找

注意名稱:您可以使用全部(或部分)列參數,而不是指定範圍在上面的公式 - 它只是效率較低。

enter image description here