VLOOKUP问题完全停止

时间:2017-11-06 00:37:45

标签: excel vlookup

我有这个字符串使用VLOOKUP匹配一些文本。

=CONCATENATE(VLOOKUP(D10,Clients!A1:F10034,2),", ",VLOOKUP(D10,Clients!A1:F30034,3),", ",VLOOKUP(D10,Clients!A1:F10034,4),", ",VLOOKUP(D10,Clients!A1:F10034,5))

当它遇到一个包含句号的匹配时,匹配将返回与完全停止之前匹配的第一个结果。

例如,如果查找尝试匹配“C.B.A Solutions”并且存在“C Tires”& “客户!”中的“C.B.A解决方案”它将匹配“C轮胎”,因为它首先出现。

1 个答案:

答案 0 :(得分:0)

您的VLOOKUPS缺少“可选'第四个论点。请注意,这第四个论点并非“可选”。 除非您的数据按升序排序并且保证匹配(即您的查找字词将始终存在于查找数据库中)。这是这种情况吗?如果是,请修改您的问题以澄清。如果没有,请添加“假”'作为第四个论点。

请注意,您的公式效率非常低。 VLOOKUP所做的大部分工作是在查找术语所在的键列中查找匹配的行。最好将计算成本高昂的任务转移到其自己的列中的专用MATCH函数,然后将该结果提供给四个INDEX函数。

将其放在一个单独的栏目中:

=MATCH(D10,Clients!A1:F10034,0)

然后在答案中指出一些INDEX函数,而不是使用计算上昂贵的VLOOKUP函数:

=CONCATENATE(INDEX(Clients!C1:C30034,[Match Output]),", ",INDEX(Clients!D1:D30034,[Match Output]),,", ",INDEX(Clients!E1:E30034,[Match Output]),)

将[匹配输出]替换为包含MATCH函数输出的单元格。

Google INDEX和MATCH vs VLOOKUP了解其重要性。

请注意,对查找列表进行排序,然后忽略第四个参数并使用称为Double VLOOKUP技巧(处理查找列表中的缺失值)的内容将再次快几千倍。有关更多信息,请参阅以下链接中的帖子: http://dailydoseofexcel.com/archives/2015/04/23/how-much-faster-is-the-double-vlookup-trick/