Excel:根据另外两列搜索两列,以返回第三列的值

Excel:根据另外两列搜索两列,以返回第三列的值,excel,Excel,有点疼。所以基本上有一个有趣的问题。有一个长长的实体列表(200多个),我需要将它们与另一个列表中的代码进行匹配。因此,从实体列表中,我有实体的名称和国家(A列中的名称,D列中的国家),我需要用其他列表中的代码填充F列,或者如果找不到代码,则添加未知 因此,尝试使用&运算符构建查询 所以=MATCH(A2&D2用作键,给我一个类似“cool companynited KINGDOM”的值。 在第二个列表(导入到第2页)中,包含以下列 代号国家 因此,我想搜索名称和国家组合在一起的数组: =MAT

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

因此,尝试使用&运算符构建查询 所以
=MATCH(A2&D2
用作键,给我一个类似“cool companynited 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))
我得到的只是价值

有什么建议吗

编辑:更多信息

第一张表是这样的(它的C列我需要从A列的代码中填充,第二张表)

第二个列表如下所示

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

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

= 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。 然后向下拖动公式

在这个公式中,我使用了命名范围
列表
,它相当于您的
表2!$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")
如果您的工作表如下所示,则该选项有效:


你从这场比赛中得到了什么?几天前我问了一个问题,我认为这个解决方案对你也很有用(数组公式)如果你展示一个你的
其他列表的小例子和几个示例实体,那么你的问题就更容易理解了。从匹配中,我什么都没有得到。但我有一个鬼鬼祟祟的怀疑,问题在于我如何输入公式。输入Ctrl+Shift+enter是有道理的,但在mac上什么都不做。@vrghost“Command Enter”VDhonal:你用了这个技巧,我认为它对整个区域都有效,即使我不是100%确定它为什么有效,但这就是我现在要尝试弄清楚的。非常感谢。@vrghost如果你想了解数组公式,只需选择不同的部分,如
INDEX(List,,2,1)
然后按F9,它将显示值数组,这样更容易调试和理解。如果它对您有效,您也可以将答案标记为已接受。
=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")