2016-08-30 40 views
1

我有5列數據,我使用INDEX/MATCH函數從第5列中提取數據,根據第1,3列中的精確匹配條件匹配。4.因此,基本上用戶選擇3個不同的標準(從下拉列表),如果所有三個匹配列1,3 & 4完全相同,則結果(S)來自第5列 下面是我使用的功能...Excel索引/匹配不符合第三條標準

{=IFERROR(INDEX(F5:F500,MATCH(1,(E5:E500=Production!B4)*(G5:G500=Production!B8)*(H5:H500=Production!B6),0)),"")} 

問題我曾經根據選擇的標準,可能會有從4到10的結果,所以我用下面來拉下一個結果...

{=IFERROR(INDEX(F5:F500,MATCH(1,(E5:E500=Production!B4)*(G5:G500=Production!B8)*(H5:H500=Production!B6),0)+1),"")} 

對於每一行我只是在函數的末尾添加了另一個數字(即。 「+2」「+3」等等)以獲得期望的結果。正如我上面提到的一些標準將有更少的結果,這是我的問題是...一旦我有所有可用的結果(例如3結果)下一行(「+3」)應吐出一個錯誤,因爲沒有更多結果與標準完全匹配,但函數只是給出了與前兩個標準相匹配但不是第三個標準的下一個結果。我很抱歉,如果這似乎令人困惑,有點難以解釋這可能是爲什麼我不能在論壇中提供任何幫助。

任何意見將非常感激。 (注意:我從上面的函數中刪除了「$」,所以他們更容易閱讀) 謝謝!

+0

不要偏離你的行事方式,但你有沒有試過[這個公式 「layout」](https://www.deskbright.com/excel/index-match-multiple-criteria/)for一個多變量指數/匹配? (感謝最後一個筆記,我同意它有助於我們的易讀性,但也讓我們知道你知道錨定,所以我們不必深入) – BruceWayne

+1

@BruceWayne不會解決這個確切的問題,因爲他得到了正確的答案。 OP想要迭代並顯示所有適用的。 –

+0

第一個公式會進入哪個單元格?有一種方法使用countif()而不是任意添加行號。你的問題源於這樣一個事實,即你沒有測試三行dowm的值,而是找到第一行然後告訴INDEX向下返回三行。如果該行的值不匹配,Excel不知道排除該值。 –

回答

2

因此,在你的榜樣公式你會把這M2:

=IFERROR(INDEX($F$5:$F$500,MATCH(1,($E$5:$E$500=Production!B4)*($G$5:$G$500=Production!B8)*($H$5:$H$500=Production!B6)*(COUNTIF($M$1:$M1,$F$5:$F$500)=0),0)),"") 

按Ctrl-Shift鍵輸入,因爲它是一個數組公式。然後複製下來。

請注意,因爲我沒有測試數據,所以未經測試。

我把$回來作爲我的補充相對/絕對是非常重要的。

+0

天才!非常感謝@ScottCraner,該功能完美滿足了我的需求! –