1

我有一个问题,我/我们已经从 Excel 中的各个字段创建了一个 CONCATENATE(见下文),并且所有文本目前都很好,我们在每个连接之间应用了单个空格。

我遇到的问题是,如果一个字段是空白的,我的单个空格会变成一个双三倍空格,并且在标准文本字符串中看起来不是很整洁。

如果字段/单元格为空,是否有办法将其压缩?

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

3 回答 3

3

将您的 CONCATENATE 包裹在=TRIM中。

SO18264717 示例

于 2013-08-16T02:26:56.220 回答
1

编写一个宏函数并在工作表中使用它。

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

在工作表中,输入公式,=NoSpaceConcat(然后突出显示要加入的范围并按 Enter。比我想说的任何内置公式都要整洁得多。

于 2013-08-16T02:51:03.250 回答
0

我有一个答案,但它并不漂亮。您可以用 if 和 isblank 子句替换空格。如果单元格是空的,那么不要做空格,否则做。

你的公式将是

=CONCATENATE(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),""," "),M39,IF (ISBLANK(M39),"",""),M40,IF(ISBLANK(M40),"",""),M44)

于 2013-08-16T02:38:26.010 回答