在 Excel 中连接单元格但排除空单元格

在 Excel 中连接单元格但排除空单元格

我想知道如何连接一行用逗号分隔的单元格但排除空单元格。

例如,列表如下:

A1——狗

B1——“空单元格”

C1——猫

我正在寻找一个可以返回 ---> Dog, Cat 的公式

非常感谢您的帮助!

答案1

可能值为A1、B1C1, 在D1进入:

=IF(A1="","",A1)&IF(B1="","",IF(A1<>"",", "&B1,B1))&IF(C1="","",IF(AND(A1="",B1=""),C1,", "&C1))

这样可以避免使用空格,同时也避免使用不必要的逗号。

答案2

Excel 没有任何内置函数可以做到这一点,有一些变通方法最终会得到我不太喜欢的硬编码值。

或者你可以使用用户定义的函数

Function comb_cells(r As Range, Optional delim As String = " ") As String

    For Each c In r
        If IsEmpty(c.Value) Then
        Else
            If Len(comb_cells) = 0 Then
                comb_cells = c.Value
            Else
                comb_cells = comb_cells & delim & c.Value
            End If
        End If
    Next

End Function

那么公式就是

=comb_cells(A1:C1,", ")

不幸的是,用户定义的函数可能会很麻烦,因为它们无法在该工作簿之外或在其他计算机上工作(取决于保存位置),但我仍然认为这是最好的选择。

此函数的范围包括行和列,每个命令应按照您阅读的方式循环(从左到右、下一行、从左到右等)。

相关内容