Excel:在另外两列中搜索两列以从第三列返回值

时间:2014-09-03 11:26:58

标签: excel

有点痛。所以基本上有一个有趣的问题。有一长串实体(200多个),我需要将它们与我在另一个列表中的代码相匹配。所以从实体列表中,我有实体的名称和国家(列A中的名称,列D中的国家),我需要使用其他列表中的代码填充列F,或者如果找不到代码则添加未知。

因此,尝试使用&来构建查询。操作者 所以=MATCH(A2&D2用作关键,给我一个像'cool companyUNITED KINGDOM'这样的价值。 在第二个列表(导入到表2)中包含以下列 代码名称国家

所以我想搜索名称和国家/地区合并的数组:

=MATCH(A2&D2,Sheet2!B2:B99999&Sheet2!C2:C99999,0)

然后我尝试恢复索引,所以我的完整列表看起来像

=INDEX(Sheet2!A2:C99999, MATCH(Sheet2!A2&Sheet2!D2,Sheet2!B2:B99999&Sheet2!C2:C99999,0))

我得到的只是#Value

任何建议

编辑:更多信息

所以第一张纸看起来像这样(它的C栏我需要填写A栏第2页的代码)

Entity name Status  GIIN    Country
Ben Dist Ltd    NFFE    N/a UNITED KINGDOM
Karamara Sdn Bhd    PFFE    N/a MALAYSIA
Farbion Trade (Curacao) N.V.    LFFI    N/a 
Tentorim (International) B.V.   LFFI    N/a NETHERLANDS
Catamo B.V. TLTD    N/a NETHERLANDS
Ben Dist Deutschland GmbH   FLTD    N/a GERMANY
Ben Dist Investments B.V.   PFFE    N/a NETHERLANDS
Ben Dist Limited    TLTD    N/a UNITED KINGDOM
Complete Solution Service Limited   GLRS    N/a UNITED KINGDOM
BDLT S.A. de C.V.   TLTD    N/a MEXICO
Telsa Telco Services    SLTD    N/a CHILE

第二个列表看起来像这样

GIIN    FINm    CountryNm
AAAUG3.99999.SL.764 Asset Plus HSI Fund THAILAND
AABEIL.99999.SL.528 Gresham Capital CLO II B.V. NETHERLANDS
AAB36F.99999.SL.470 Maitland Malta Limited  MALTA
AACRQK.99999.SL.756 BBGI GROUP SA   SWITZERLAND
AADAD7.99999.SL.528 E-MAC DE 2009-I B.V.    NETHERLANDS
AADDBX.99999.SL.060 GWD Limited BERMUDA
AAE9W5.99999.SL.764 Bualuang Money Market RMF   THAILAND
AAGH8E.99999.SL.276 Sparda-Bank Baden-Wuerttemberg eG   GERMANY
AAGR6U.99999.SL.438 Konsolidationsanstalt   LIECHTENSTEIN
AAGWV3.99999.SL.360 BATAVIA PROTEKSI PRIMA 18   INDONESIA
AAGXH0.99999.SL.136 Monarch Capital Partners Ltd    CAYMAN ISLANDS
AAHY1V.99999.SL.158 Pingtung County Farmers' Association    TAIWAN
AAH0IZ.99999.SL.136 Diversified Absolute Return Fund    CAYMAN ISLANDS

1 个答案:

答案 0 :(得分:1)

我建议您使用以下数组公式:

= IFERROR(INDEX(List,SMALL(IF((INDEX(List,,2,1)=A2)*(INDEX(List,,3,1)=D2),ROW(List)-MIN(ROW(List))+1,""),1),1,1),"N/A")

要在Windows中输入数组公式,请使用Ctrl + Alt + Enter。 在Mac键盘上使用Command + Enter。 然后向下拖动公式。

在此公式中,我使用了命名范围List,它等同于您的Sheet2!$A$2:$C$99999。命名范围使复杂公式更具可读性和灵活性。 如果您不想使用命名范围,请将List替换为Sheet2!$A$2:$C$99999

=IFERROR(INDEX(Sheet2!$A$2:$C$99999,SMALL(IF((INDEX(Sheet2!$A$2:$C$99999,,2,1)=A2)*(INDEX(Sheet2!$A$2:$C$99999,,3,1)=D2),ROW(Sheet2!$A$2:$C$99999)-MIN(ROW(Sheet2!$A$2:$C$99999))+1,""),1),1,1),"N/A")

如果您的工作表看起来如下:

Sheet1

Sheet2