2016-05-26 117 views
2

我有一個電子表格,其中包含大量數據列和結果列,旁邊是所有數據。如果相鄰列中的數據落在指定範圍內,我正在嘗試創建一個公式,該公式將給出結果列的平均值。Excel:使用LOOKUP或SUMPRODUCT代替AverageIFS

我有這個工作,當我想把一個範圍放在一列數據上,但現在遇到了將範圍放在多列數據上的麻煩。

我的試算表看起來是這樣的:

enter image description here

在另一片是所有的數據,基本上我想在$ FTSEMIB數據是50和0.19之間,以獲得結果的平均值世行數據在50到15之間。

我能夠使用此AVERAGEIF做到這一點:

=AVERAGEIFS(Data!$BHV$10:$BHV$119,Data!$HQ$10:$HQ$119,"<"&G25,Data!$HQ$10:$HQ$119,">"&H25,Data!$TK$10:$TK$119,"<"&G26,Data!$TK$10:$TK$119,">"&H26) 

但我真的想利用查找或SUMPRODUCT函數來調整這個,那個查找標題在F25和F26然後應用範圍然後平均相鄰的結果,只要它符合兩個範圍。

我試着用這個數組公式這是我從收到了時,只有應用範圍一類這樣做,但現在我無法加入多個類別

=IFERROR(AVERAGE(IF((Data!$HQ$7:$LZ$7=F$25)*(Data!$HQ$11:$LZ$119>=$H25)*(Data!$HQ$11:$LZ$119<=$G25)*(Data!$BHV$11:$BHV$119<>"")*(Data!$QK$7:$UT$7=F$26)*(Data!$QK$11:$UT$119>=$H26)*(Data!$QK$11:$UT$119<=$G26),Data!$BHV$11:$BHV$119)),"") 
+0

在你的公式中,你正在測試空值('Data!$ BHV $ 11:$ BHV $ 119 <>「」'),是通過公式還是真空單元格而沒有公式或空格的那些空值? –

+0

空值來自公式,由返回「」的if錯誤捕獲。我可以調整這一點,所以iferror返回一個數字1000例如,而不是一個空白,這樣它將高到包含在任何範圍 – crams

回答

2

這張截圖顯示了我的企圖複製您的設置:

enter image description here

在柱d的公式是基於以下步驟:

  1. 查找

    對應於類別

    MATCH列號(A2,F1:H1,0)

  2. 返回該列中的數據

    INDEX(F2:H5,0,MATCH (A2,F1:H1,0))

  3. 計算結果的基礎上,返回柱的平均

    AVERAGEIFS($ I $ 2:$ I $ 5 INDEX($ F $ 2:$ H $ 5,0 ,MATCH(A2 ,$ F $ 1:$ H $ 1,0)),「<」& B2,INDEX($ F $ 2:$ H $ 5,0,MATCH(A2,$ F $ 1:$ H $ 1,0)),「>」 & C2)

  4. 現在對於兩列

    AVERAGEIFS($ I $ 2:$ I $ 5 INDEX($ F $ 2:$ H $ 5,0,MATCH(A2,$ F $ 1:$ H $ 1, 0)),「<」& B2,INDEX($ F $ 2:$ H $ 5,0,MATCH(A2,$ F $ 1:$ H $ 1,0)),「>」& C2,INDEX($ F $ 2: $ H $ 5,0,MATCH(A3,$ F $ 1:$ H $ 1,0)),「<」& B3,INDEX($ F $ 2:$ H $ 5,0,MATCH(A3,$ F $ 1:$ H $ 1,0)),「>」& C3)

+1

很好地使用[INDEX](https://support.office.com/ en-us/article/index-function-0ee99cef-a811-4762-8cfb-a222dd31368a)和[MATCH](https://support.office.com/en-us/article/match-function-0600e189-9f3c-4e4f -98c1-943a0eb427ca)以剝離[AVERAGEIFS](https://support.office.com/en-us/article/AVERAGEIFS-function-48910C45-1FC0-4389-A028-F7C5C3001690)標準的列。 – Jeeped

+1

完美的作品!謝謝! – crams