有一个excel文件如下:
我是连接的第一,中间和最后的名字使用下面的公式。
=CONCATENATE(A4," ",B4," ",C4)
但是我需要更新这个公式,如果没有中间名,那么空格需要是单个的。如果有中间名,那么名字和姓氏之间都应该有空格。预期值:
ttvkxqim1#
如果可用,使用TEXTJOIN()并确保将第2个参数设置为TRUE(默认),例如:
TEXTJOIN()
=TEXTJOIN(" ",,A2:C2)
如果您愿意,现在可以将其嵌套在BYROW() lambda helper中(或者只是复制公式)。如果TEXTJOIN()不可用,则合并TRIM(),这将消除双空格、尾随空格和/或前导空格,例如:=TRIM(CONCATENATE(A2," ",B2," ",C1))。请注意,如果使用“与”号将文本拼凑在一起,则CONCATENATE()本身是多余的:
BYROW()
TRIM()
=TRIM(CONCATENATE(A2," ",B2," ",C1))
CONCATENATE()
=TRIM(A2&" "&B2&" "&C2)
nfs0ujit2#
在concat中使用“if”函数:=concat(a4,““,b4,如果(b4”",““,“”),c4)
pgpifvop3#
因此,测试A4、B4和C4以确保没有空白:
=if(A4="","",A4&" ")&if(B4="","",B4&" ")&if(C4="","",C4&" ")
您可以只测试B4作为最低限度,但彻底节省不得不回去编辑以后...编辑:你也可以利用这个机会,在必要时利用:
PROPER(IF(A4="","",A4&" ")&IF(B4="","",B4&" ")&IF(C4="","",C4&" "))
3条答案
按热度按时间ttvkxqim1#
如果可用,使用
TEXTJOIN()
并确保将第2个参数设置为TRUE(默认),例如:如果您愿意,现在可以将其嵌套在
BYROW()
lambda helper中(或者只是复制公式)。如果
TEXTJOIN()
不可用,则合并TRIM()
,这将消除双空格、尾随空格和/或前导空格,例如:=TRIM(CONCATENATE(A2," ",B2," ",C1))
。请注意,如果使用“与”号将文本拼凑在一起,则CONCATENATE()
本身是多余的:nfs0ujit2#
在concat中使用“if”函数:
=concat(a4,““,b4,如果(b4”",““,“”),c4)
pgpifvop3#
因此,测试A4、B4和C4以确保没有空白:
您可以只测试B4作为最低限度,但彻底节省不得不回去编辑以后...
编辑:你也可以利用这个机会,在必要时利用: