这是一个简单的客户表:
A B C D
ID First Middle Last
1 John Doe
2 Jane Maia Doe
在F1中,我输入了以下vlookup代码:
=VLOOKUP($G$1;$A$1:$D$3;2;FALSE)&" "&VLOOKUP($G$1;$A$1:$D$3;3;FALSE)&" "&VLOOKUP($G$1;$A$1:$D$3;4;FALSE)
当我查找ID 2时,在vlookup之间完美地隔开了
但是当我查找ID 1时,您会在名字和姓氏之间看到2个空格,因为这里没有中间名。
如何管理我在vlookup之间总是看到1个空格?
答案 0 :(得分:2)
获得所需结果的一种方法是简单地用一个空格替换多个空格。
=REGEXREPLACE(JOIN(" ",ARRAYFORMULA(VLOOKUP(G1,A:D,{2,3,4},FALSE))),"\s{2,}"," ")
此公式在表(A:D)中查找G1。 VLOOKUP可在ARRAYFORMULA中使用,以有效地一次检索您想要的所有列。您的JOIN连接所有检索到的列,并在每个值之间插入一个空格。最后,您的REGEXREPLACE函数将查找多个连续的空格并将其替换为单个空格。
或者,您可以过滤结果数组(即VLOOKUP返回的结果)。下面的公式查找姓,名和姓的数组,然后在将其余元素与空格连接之前过滤掉所有空单元格。
=JOIN(" ",FILTER(VLOOKUP(I1,A:D,{2,3,4},FALSE),INDIRECT("B"&MATCH(I1,A:A,0)&":D"&MATCH(I1,A:A,0))<>""))
答案 1 :(得分:1)