【发布时间】:2016-04-29 15:01:44
【问题描述】:
A列有一个需要与B列匹配的值列表。如果匹配,则应返回C列中的相邻值。我正在使用 INDEX/MATCH 来执行此操作。但是,如果 A 列有一个重复的值,则 INDEX/MATCH 函数会返回 B 列中的第一个值,而不是 B 列中正在查找的第二个或第三个值。是否可以找到其他值(除了第一个)在 B 列中使用 INDEX/MATCH 函数?
这是示例表:
Column A Column B Column C
lookup0x16e663000 lookup0x16e663000 1461178793193312
lookup0x16e663001 lookup0x16e663000 1461178793193508
lookup0x16e663000 lookup0x16e663001 1461178793193704
lookup0x16e663001 lookup0x16e663001 1461178793193891
lookup0x16e663000 lookup0x16e663005 1461178793194110
lookup0x16e663005 lookup0x16e663005 1461178793194312
lookup0x16e663005 lookup0x16e663000 1461178793194538
lookup0x16e663000 lookup0x16e663000 1461178793194760
所以在这里,如果我从 A 列中查找第 4 个值,它与 B 列的第 3 个值匹配,而不是第 4 个。
【问题讨论】:
-
不使用 INDEX/MATCH,您需要合并 LARGE 或 AGGREGATE 来代替 MATCH 以返回正确的行号。如果您发布一些示例数据和预期结果,我们可能会提供进一步的帮助。
-
@ScottCraner 我对我的问题进行了编辑并在此处添加了表格。我们如何使用 Large 或 Aggregate 函数?我以前从未使用过它。这是我现在正在使用的。 =INDEX($C:$C, MATCH(A2,B:B,0))
标签: vba excel excel-formula