Объединить ячейки, но исключить пустые в Excel [дубликаты]

1

Мне интересно, как я могу объединить ряд ячеек с разделенными запятыми значениями, но исключить пустые ячейки.

Например, список будет:

A1 - собака

B1 - «пустая клетка»

C1 - кот

Я ищу формулу, которая вернула бы ---> Собака, Кот

Очень ценю вашу помощь!

johnathon05
источник

Ответы:

1

С возможными значениями в A1, B1 и C1 , в D1 введите:

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

Это позволяет избежать использования пробелов, а также избежать использования ненужных запятых.

Ученик Гэри
источник
0

В 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,", ")

К сожалению, пользовательские функции могут быть проблемой, так как они не будут работать вне этой книги или на других компьютерах (в зависимости от того, где они сохранены), но я все же думаю, что это будет вашим лучшим выбором.

Эта функция принимает диапазон, который может включать как строки, так и столбцы, для каждой команды цикл должен выполняться так же, как вы читали (слева направо, следующий ряд, слева направо и т. Д.).

gtwebb
источник