提示:其它语言是由 Google 机器翻译的。 你可以访问 English 版本。
登录
x
or
x
x
马上登记
x

or

如何连接单元忽略或跳过空白在Excel中?

Excel的 CONCATENATE 函数可以帮助您将多个单元格值快速组合到一个单元格中,如果所选单元格中存在一些空白单元格,则此功能也将组合空白单元格。 但是,有时候,您只想将单元格与数据连接并跳过空单元格,您如何在Excel中完成它?

连接单元格忽略或跳过公式带有空格

使用用户定义函数连接单元忽略或跳过空白

使用Kutools for Excel连接单元忽略或跳过空白


连接多个单元格忽略或跳过空白:

Kutools for Excel's 结合 功能可以帮助您组合或连接多行,列或单元而不会丢失数据,但跳过或忽略空白单元格。

doc结合跳过空白7

Kutools for Excel:比200方便的Excel加载项,可以在60天免费试用。 下载并免费试用现在!



假设,我有以下单元格数据填充一些空白单元格,将行组合到一个单元格中,您可以应用公式来解决它。

doc结合跳过空白1

请将此公式输入到要放置连接结果的空白单元格中, =A1&IF(A2<>"","-"&A2,"")&IF(A3<>"","-"&A3,"")&IF(A4<>"","-"&A4,"")&IF(A5<>"","-"&A5,""),然后将填充柄右移到要应用此公式的单元格中,并且行的值已合并,而不显示空白单元格,如下面的屏幕截图所示:

doc结合跳过空白2

提示建议:如果需要连接更多行,则应使用IF函数来加入单元格,例如 =A1&IF(A2<>"","-"&A2,"")&IF(A3<>"","-"&A3,"")&IF(A4<>"","-"&A4,"")&IF(A5<>"","-"&A5,"")&IF(A6<>"","-"&A6,"")。 这个“" 公式中的字符可以用您需要的任何其他分隔符替换。


如果需要组合多个单元格,则上述公式将过于复杂以至于无法执行,因此,可以使用以下用户定义函数来解决该问题。

1。 按住 Alt + F11键 在Excel中的键,它打开 Microsoft Visual Basic for Applications 窗口。

2。 点击 插页 > 模块,并粘贴在下面的宏 模块 窗口。

VBA代码:连接单元忽略空白:

Function Concatenatecells(ConcatArea As Range) As String
'updateby Extendoffice 20151103
  For Each n In ConcatArea: nn = IIf(n = "", nn & "", nn & n & "/"): Next
  Concatenatecells = Left(nn, Len(nn) - 1)
End Function

3。 保存并关闭此代码窗口,返回工作表,然后输入此公式: = concatenatecells(A1:A5) 放入空白单元格中,然后将填充句柄拖到单元格以应用此公式,并且您将得到以下结果:

doc结合跳过空白3

提示建议:在上面的VBA代码中,您可以更改“/“字符到您需要的任何其他分隔符。


除了无聊的公式和代码,在这里,我可以推荐一个方便的工具 - Kutools for Excel,其功能强大 结合 实用程序,您可以毫不费力地将多个单元格连接成一个单元格。

Kutools for Excel : 与超过300方便的Excel加载项,在60天免费试用没有限制.

安装后 Kutools for Excel请按照以下步骤进行:

1。 选择要合并的单元格值。

2。 点击 Kutools > 结合,看截图:

doc结合跳过空白4

3。 在 组合列或行 对话:

  • (1)。选择要合并的单元格类型,可以合并列,合并行并将所有单元格合并到单元格单元格中;
  • (2。)为连接的内容指定分隔符;
  • (3)选择放置结果的位置,可以将结果放到顶部单元格或底部单元格中;
  • (4)指定如何处理组合单元格,您可以保留或删除这些组合单元格的内容,也可以合并这些组合单元格。
  • doc结合跳过空白5

    4。 完成设置后,单击 Ok 按钮,所选行分别合并到一个单元格中,并自动跳过空格,请参阅截图:

    doc结合跳过空白6

    点击了解有关此组合功能的更多详情...

    立即下载并免费试用Kutools for Excel!


    Kutools for Excel:比200方便的Excel加载项,可以在60天免费试用。 下载并免费试用现在!


    Kutools for Excel - 最佳办公生产力工具提高80%的生产力

    • 重用: 快速插入 复杂的公式,图表 以及你以前用过的任何东西; 加密单元格 密码; 创建邮件列表 并发送电子邮件...
    • 超级方程式酒吧 (轻松编辑多行文字和公式); 阅读布局 (轻松读取和编辑大量单元格); 粘贴到过滤范围...
    • 合并单元格/行/列 不丢失数据; 分裂细胞含量; 组合重复的行/列...防止重复的细胞; 比较范围...
    • 选择复制或唯一 行; 选择空行 (所有细胞都是空的); 超级查找和模糊查找 在许多工作簿中; 随机选择......
    • 精确复制 多个单元格而不更改公式参考; 自动创建参考 多张表; 插入项目符号,复选框等等......
    • 提取文本,添加文本,按位置删除, 删除空间; 创建和打印分页小计; 在单元格内容和注释之间转换...
    • 超级过滤器 (将过滤方案保存并应用到其他工作表); 高级排序 按月/周/日,频率等; 特殊过滤器 用粗体,斜体......
    • 结合工作簿和工作表; 根据键列合并表; 将数据拆分为多个表格; 批量转换xls,xlsx和PDF...
    • 超过300强大的功能。 支持Office / Excel 2007-2019和365。 支持所有语言。 在您的企业或组织中轻松部署。 全功能60天免费试用。
    kte tab 201905

    Office选项卡为Office提供选项卡式界面,使您的工作更轻松

    • 在Word,Excel,PowerPoint中启用选项卡式编辑和阅读,Publisher,Access,Visio和Project。
    • 在同一窗口的新选项卡中打开并创建多个文档,而不是在新窗口中。
    • 通过50%提高您的工作效率,每天为您减少数百次鼠标点击!
    官方底部
    Say something here...
    symbols left.
    You are guest ( Sign Up? )
    or post as a guest, but your post won't be published automatically.
    Loading comment... The comment will be refreshed after 00:00.
    • To post as a guest, your comment is unpublished.
      D · 3 months ago
      This worked a treat, thanks so much
    • To post as a guest, your comment is unpublished.
      Melinda · 7 months ago
      Hi, used the macro and changed the "/" to a comma "," but got a lot of commas and it appeared to add all the blank cells.
      I am doing a nested if statement to determine the appropriate sorting in the database. Is this enough to make the blank cell 'active' so that the macro sees this and adds it to the text string? How to work around that?
      thanks much
      • To post as a guest, your comment is unpublished.
        skyyang · 7 months ago
        Hello, Melinda,
        the above vba code works well in my worksheet, you just need to change the separator / to comma as below:

        Function Concatenatecells(ConcatArea As Range) As String
        'updateby Extendoffice 20151103
        For Each n In ConcatArea: nn = IIf(n = "", nn & "", nn & n & ","): Next
        Concatenatecells = Left(nn, Len(nn) - 1)
        End Function

        and then apply this formula:=concatenatecells(A1:A5)
        • To post as a guest, your comment is unpublished.
          Melinda · 7 months ago
          thanks!
          I found my problem was in the logic statement that I used to select data for these cells that I was trying to text string. I used a " " instead of "" for the false statement. That was picked up by the macro and used as a space bar and came out , , , , , text, , , ,
          So I went back and took out the space and just have the "" and then the macro worked great.
          Of course I am learning macros so that's another adventure.
          thanks much!!
    • To post as a guest, your comment is unpublished.
      Adri · 1 years ago
      Thank you, it was very helpful!
    • To post as a guest, your comment is unpublished.
      Lize-marie van Onselen · 1 years ago
      Please help, i dont always have a value in my first column, that couses that I end up with a seperator infort of the final result. Is there a way around this?
    • To post as a guest, your comment is unpublished.
      sindre · 2 years ago
      Thank you! This saved hours of frustration on my part! Works as a charm!
    • To post as a guest, your comment is unpublished.
      Par · 2 years ago
      The VBA script is wrong, because the output of the formula puts a huge space between the delimiters.