2017-09-01 157 views
0

我目前在兩個工作簿之間工作。Excel - VLOOKUP返回數組中的每個結果,而不僅僅是第一個

工作簿A我有以下數據。

 A ... D  E  F ... N 
1.| ID  | Name | Desc | Prod | Country| 
2.| 12345 | Apple| Fruit|  10|  US| 
3.| 12346 | Celery|  Veg|  150|  US| 
4.| 12347 | Mint| Herb|  25|  FR| 

我在工作簿乙被使用下面的公式從AHC,其目的是執行VLOOKUP其抓住所有ID的但只有當國家 =「US」。

=VLOOKUP("US", CHOOSE({2,1},Workbook A.xlsx!Table1[ID], Workbook A.xlsx!Table1[Country]), 2, FALSE) 

這個公式很好,但是,我的問題來了,因爲公式只會返回數組中的第一個實例。舉例來說,如果我有這個公式中工作簿B,柱A它看起來就像這樣:

 A 
1.|ID of US| 
2.| 12345 | 
3.| 12345 | 
4.| 12345 | 
5.| 12345 | 
6.| 12345 | 
7.| 12345 | 

我怎麼會做這個公式工作,以便返回每個ID它匹配「US」,不僅僅是第一次出現比賽?

+0

快速問題,您的工作簿B的佈局是什麼?你是否列出了一列中的所有ID,並在下一個列表中顯示結果?或者你只是想要一個公式拖下來顯示任何符合條件'(國家=「美國」)''的ID?另外,是否可以在工作簿A中使用重複ID,並且您想在工作簿B上顯示兩次ID? – ian0411

回答

0

B2把這個公式:
您可能需要調整範圍的行(我去,直到100)。

={ISERROR(INDEX(D$2:D$100,SMALL(IF(N$2:N$100=$A2,ROW(D1)),ROW(N1))),"")} 

注:
步驟1)將式在細胞B2而不{}
步驟2)一旦式被插入標記整個式並按Ctrl + Shift + Enter所以公式將得到{}
步驟3)將它向下拖動到行所需的位置以獲取列表。

+0

我不認爲這個解決方案有效。當我使用公式時,它只是返回「真」到B2中。這不能解決我的問題。 – Bastion

相關問題