2016-12-07 319 views
-2

索引和匹配不會返回多個值,需要找到一種方式,無論是函數還是VBA。Excel索引返回與多個條件匹配的多個值

基本上我有一個索引和匹配功能,着眼於兩個變量,然後返回從不同的表匹配相應的公司。

即你從下拉,然後「GOLD」從另一個下拉那麼指數和匹配選擇「澳大利亞」將拉動公司從澳大利亞和礦山黃金操作的另一片。 到目前爲止該功能的作品,但它只返回第一個結果,並可能有多個公司,我還沒有想出如何返回多個結果。

到目前爲止的代碼如下:

=INDEX(Datapage!B$2:B$280,MATCH(1,(A$8=Datapage!$C$2:$C$280) * (B$8=Sheet11!$D$2:$D$280),0)) 

我也嘗試這一個:

= IFERROR(INDEX(Table26 [[位置]:[商品],SMALL(IF( Table26 [位置] = $ B8,ROW(Table26 [商品]) - ROW($ d $ 2)+1),COLUMNS($ B14:B14))), 「」) 數據片具有在B2值 - D280

但沒有任何反應,它只搜索一個對此需求無用的變量。

B爲公司名稱

C是位置

d是商品

我們已經附上一些照片澄清

這是張什麼樣子

Data page containing the names of companies

Search page

任何幫助將不勝感激! 感謝

+0

歡迎SO!您的問題還不太清楚,請閱讀[問]和[mcve] - 然後[編輯]您的帖子,以便在不啓動TeamViewer會話的情況下回答問題。乾杯! –

+0

我試着盡我所能解釋,還有什麼我錯過了? – VOSS

+0

尼斯的編輯,我想* *我明白這個問題,但我還是不明白你想要什麼 - 一個小區只能有一個值,你怎麼期待一個公式「返回多個值」 ? –

回答

1

任何有興趣我想通了,不需要任何VBA函數。

=IFERROR(INDEX(Data!$B$2:$B$280, SMALL(IF($A$8&" "&$B$8=Data!$A$2:$A$280, ROW(Data!$B$2:$B$280)-1,""), ROW()-14)),"") 

B中列的第一個數據是,如果找到匹配我想返回的數據。

「Small(IF(A ...)」函數結合了我想要比賽尋找的兩個變量,即A =澳大利亞& B = GOLD等等,它會在下一個比賽中尋找比賽012(ROW(Data!$ B $ 2:$ B $ 280)) - 「ROW(Data ...」)將單元格A8和B8中的值與範圍內的每個值進行比較。 1「返回相應行的編號(-1用於扣除標題行),如果比較值不匹配,則IF函數返回空字符串。 「」」功能作爲一個遞增計數器。由於公式被複制到細胞A15,我們添加-14的函數返回1細胞A15(行15減去14),15單元A16(行16減15)等