1

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

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

A1 - собака

B1 - "пустая клетка"

С1 - Кошка

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

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

2 ответа2

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .