2016-09-23 155 views
0

我試圖使用多個條件返回多個值...下面是我嘗試過的代碼(但使用特殊括號),但它不斷返回,好像我在嘗試創建一個總和,並有錯誤...如何在Excel中使用多個條件返回多個值

=IFERROR(INDEX(Sheet2!$C$4:$C$25,SMALL((IF(Sheet2!$D$4:$D$41=Sheet3!G2)*(Sheet2!$E$4:$E$67=Sheet3!$L$3),ROW(Sheet2!C4:C24)),ROW(1:1))),"") 

下面是返回一個結果代碼,但是有兩個匹配標準的多個名稱。

=IFERROR(INDEX(Sheet2!$C$4:$E$43,MATCH(1,(Sheet2!$D$4:$D$26=Sheet3!$G$2)*(Sheet2!$E$4:$E$26=Sheet3!$L$3),0),1)," ") 

基本上,我有一個利益相關者分析方 - 細分爲:

  • 保持滿意(表3:細胞C2
  • 管理密切(表3:細胞G2
  • 保持信息通暢(工作表3:電池C13
  • 監視器(工作表3:電池GG13

我在工作表3中使用數據驗證:單元格L11(鏈接到工作表2),以創建第二個標準(工程)。

我想要發生的是它將名稱返回到每個利益相關者分析標題。問題是,例如,如果我在一個項目中「管理緊密」有三個名字 - 我無法讓它返回所有三個名字......只有一個名字。

這已經讓我瘋狂

+0

細胞G3 - 不是格GG3 –

回答

0

有你給第一個公式,即在幾個錯誤:

=IFERROR(INDEX(Sheet2!$C$4:$C$25,SMALL((IF(Sheet2!$D$4:$D$41=Sheet3!G2)*(Sheet2!$E$4:$E$67=Sheet3!$L$3),ROW(Sheet2!C4:C24)),ROW(1:1))),"")

其一,通過應該是相同的尺寸的範圍;你的情況,所有四個都是不同的,即:

Sheet2!$C$4:$C$25:22行

Sheet2!$D$4:$D$41:38行

Sheet2!$E$4:$E$67:64行

Sheet2!C4:C24:21行

我只能猜測什麼應該是正確的範圍,所以讓我們假設爲爭論的最大。

其次,我假定參考:

Sheet3!G2

實際上應絕對,即

Sheet3!$G$2

以便作爲該式向下複製到不變?

我也會做一些其他的修正,到value_if_true被用於IF聲明(目前正在使用的一個是不正確的)條款,同時也SMALL「SK參數(ROWS比更穩健ROW here:https://excelxor.com/2014/08/25/row-vs-rows-for-consecutive-integer-generation/)。

總而言之:

=IFERROR(INDEX(Sheet2!$C:$C,SMALL(IF(Sheet2!$D$4:$D$67=Sheet3!$G$2,IF(Sheet2!$E$4:$E$67=Sheet3!$L$3,ROW(Sheet2!$C$4:$C$67))),ROWS($1:1))),"")

,並抄下來。

你也可能要注意的是,如果被質疑的範圍其實非常大,使用IFERROR可以在這裏是非常低效的:

https://superuser.com/questions/812727/look-up-a-value-in-a-list-and-return-all-multiple-corresponding-values/812848

問候

+0

非常感謝您的幫助。 - 我已經設法解決它,在我今天得到這個之前......新公式看起來像:= IFERROR(INDEX(Sheet2!C:C,SMALL(IF((Sheet2!D:D ='SH Tool'!$ G $ 2)*(Sheet2!E:E ='SH Tool'!$ L $ 3),ROW(Sheet2!E:E)),ROW(D3))),「」) - 我會補充肯定)我不知道爲什麼會有最終的ROW(D3)。我只是在其他地方跟着指導,但沒有真正的解釋爲什麼那裏有。最初它是D1,但由於它不是絕對的,當我拖下來時發生了改變。 D1是一個空單元... D的全部都是空的...... –

+0

在數組公式中引用整個列並不是一個好主意。看起來你還沒有聽取我的建議,如果再次發生IFERROR。 –