2016-05-26 92 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