如果字段是空的,挤压一个CONCATENATE,所以空间差距不是很大

我有一个问题,我/我们已经从Excel中的各个领域创build了一个CONCATENATE(见下文),并且所有的文本都是正确的,我们已经在每个连接之间应用了单个空格。

我有的问题是,如果一个字段为空,我的单个空间成为一个双重的三重空间,并且在标准文本string中看起来不太整齐。

如果一个字段/单元格是空的,是否有办法将它挤压?

=CONCATENATE(M30," ",M31," ",M32," ",M33," ",M34," ",M35," ",M36," ",M37," ",M38," ",M39," ",M40," ",M44) 

把你的CONCATENATE裹在TRIM里 。

SO18264717的例子

写一个macros函数,并在表单中使用它。

 Function NoSpaceConcat(oRngJoin As Range) As String Dim oRng As Range, sTxt As String sTxt = "" For Each oRng In oRngJoin If Not IsEmpty(oRng) Then sTxt = sTxt & oRng.Value & " " Next NoSpaceConcat = Trim(sTxt) End Function 

在工作表中,input公式=NoSpaceConcat(然后突出显示您想要join的范围,然后按Enter键。

我有一个答案,但它不漂亮。 你可以使用if和isblank子句replace空白的splaces。 如果单元格是空的,那么不要做空白的地方,否则做。

你的公式将会是

(M30,IF(ISBLANK(M30),“”,“”),M31,IF(ISBLANK(M31),“”,“”),M32,IF(ISBLANK(M32),“”,“”) ,M33,IF(ISBLANK(M33),“”,“”),M34,IF(ISBLANK(M34),“”,“”),M35,IF(ISBLANK(M35),“”,“”),M36 ,IF(ISBLANK(M36),“”,“”),M37,IF(ISBLANK(M37),“”,“”),M38,IF(ISBLANK(M80) (ISBLANK(M39),“”,“”),M40,IF(ISBLANK(M40),“”,“”),M44)