我有这个字符串使用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轮胎”,因为它首先出现。
答案 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/