首页 > 解决方案 > 使用 VLOOKUP 不仅匹配第一个值

问题描述

我正在尝试使用 VLOOKUP 将活动与产品代码匹配,但由于 VLOOKUP 始终返回第一个匹配项,因此遇到了问题。我在下面做了一个模型来描述我的问题。在左侧,我有一个包含活动名称和产品代码的表格。

在右侧的 G 列中,我想根据 F 列中的活动名称与 A 列中的活动名称相匹配,分配 B 列中的活动产品代码。

在此处输入图像描述

当我使用 VLOOKUP 时,它只匹配第一个活动名称,并为所有具有相同名称的活动提供相同的产品代码。我需要他们获得不同的产品代码,即使它们具有相同的名称。当第一个被采用时,我希望我的功能在列表中“采用下一个”。

我应该尝试使用其他功能来解决这个问题吗?VLOOKUP不可能吗?我的“真实”文档有 2000 行,而我在 Youtube 上找到的解决方案不能很好地扩展。

提前致谢。我是新来的,所以如果我要以任何方式澄清我的问题,请随时告诉我。

标签: excelexcel-formulavlookup

解决方案


如果原始数据大约有 2,000 行,则可以将嵌套索引匹配与辅助列一起使用。

使用公式在 C 列中添加排名=COUNTIF(A2:$A$2,A2)

在此处输入图像描述

然后在输出部分也应用相同的排名(确保对活动名称进行排序以便公式有效),输出排名公式=IF(J2=J1,I1+1,1)

在此处输入图像描述

列出产品代码的公式{=INDEX($B$2:$B$3190,MATCH(I2,IF($A$2:$A$3190=J2,$C$2:$C$3190),0))}

在此处输入图像描述

这是一个数组公式,您可以通过按 control+shift+Enter 来获得大括号,而不是在键入公式时仅按 Enter


推荐阅读