Как преобразовать список столбцов в список, разделенный запятыми, в Excel?
При работе с данными Excel вам может часто понадобиться преобразовать вертикальный список элементов в одну строку, разделенную запятыми. Будь то подготовка входных данных для базы данных, создание отчета или просто упорядочивание вашей рабочей таблицы, существует несколько способов достичь этого. Ниже мы рассмотрим четыре оптимизированных метода:
Преобразование списка столбцов в список, разделенный запятыми, с помощью формул
- Формула 1: функция TEXTJOIN (Excel 2019 и более поздние версии, Office 365)
- Формула 2: функции CONCAT и IF (все версии Excel)
Преобразование списка столбцов в список, разделенный запятыми, с помощью Kutools для Excel
Преобразование списка столбцов в список, разделенный запятыми, с помощью кода VBA
Преобразование списка столбцов в список, разделенный запятыми, с помощью формул
В Excel нет встроенной функции для преобразования столбца в список через запятую, но вы можете легко это сделать: используйте TEXTJOIN в Office 365/2019+, или CONCAT+IF в любой версии для оптимизации ваших данных.
Формула 1: функция TEXTJOIN (Excel 2019 и более поздние версии, Office 365)
Самая продвинутая функция конкатенации в Excel, TEXTJOIN упрощает процесс благодаря двойной функциональности — гибкому выбору разделителя и автоматическому управлению пустыми ячейками — предоставляя самое простое решение для современных пользователей Excel.
1. Выберите ячейку, где должен появиться список, разделенный запятыми, и введите следующую формулу:
=TEXTJOIN(", ", TRUE, A2:A10)
2. Нажмите Enter, чтобы получить значение, разделенное запятыми.
- ", " — это разделитель (запятая плюс пробел).
- TRUE указывает Excel пропускать пустые ячейки.
- A2:A10 — это исходный диапазон.
=TEXTJOIN(", ", TRUE, UNIQUE(A2:A10))
- 🔹Простота реализации: требуется только одна функция.
- 🔹Гибкий разделитель: можно использовать ", " (запятая + пробел) или просто "," по необходимости.
- 🔹Автоматическая обработка: пропускает пустые ячейки, когда установлено TRUE для ignore_empty.
- 🔸Требуется Excel 2019 и более поздние версии / Office 365.
Формула 2: функции CONCAT и IF (все версии Excel)
До появления TEXTJOIN можно было комбинировать CONCAT с функцией IF для создания списка, а затем удалять начальный разделитель.
1. Выберите ячейку, где должен появиться список, разделенный запятыми, и введите следующую формулу:
=CONCAT(IF(A2:A10<>"", A2:A10 & ", ", ""))
2. Нажмите клавиши Ctrl + Shift + Enter вместе, чтобы получить результат.
- IF(A2:A100<>"", A2:A100 & ",", ""): Проверяет каждую ячейку в диапазоне A2:A100. Если ячейка не пустая, возвращает её значение плюс запятую; в противном случае возвращает пустую строку.
- CONCAT(...): Объединяет все элементы массива в одну непрерывную строку.
- 🔹Широкая совместимость: работает в любой версии Excel, поддерживающей формулы массива, без использования новых функций.
- 🔹Игнорирует пустые ячейки: проверка IF автоматически пропускает пустые ячейки.
- 🔸Сложность в использовании: должна быть введена как формула массива, требуя нажатия Ctrl + Shift + Enter — что многие новички забывают.
- 🔸Низкая производительность: расчет может значительно замедлиться или даже зависнуть при обработке больших наборов данных (десятки тысяч строк).
- 🔸Фиксированный результат: нужно предпринять дополнительные шаги для удаления последней запятой, если вы хотите убрать последний разделитель.
Преобразование списка столбцов в список, разделенный запятыми, с помощью Kutools для Excel
Kutools для Excel содержит мощную функцию «Объединить строки/столбцы/ячейки и сохранить значения», которая позволяет объединить содержимое всего столбца в одну ячейку всего за несколько кликов. Выбрав исходный диапазон и указав разделитель — будь то запятая, точка с запятой, пробел или любой другой символ — вы мгновенно получите объединенный, разделенный список без необходимости копирования и вставки каждого элемента вручную. Инструмент также предлагает возможность игнорировать пустые ячейки, сохранять исходное форматирование, что делает его идеальным решением для быстрого преобразования вертикальных данных в аккуратные, разделенные запятыми списки.
1. Выберите список столбцов, который вы хотите преобразовать в список, разделенный запятыми, и нажмите Kutools > Объединить и разделить > Объединить строки/столбцы/ячейки и сохранить значения.
2. В открывшемся диалоговом окне «Объединить столбцы или строки» вам нужно:
- (1) Установите флажок «Объединить в одну ячейку» в разделе «Объединить выбранный диапазон следующим образом».
- (2) В разделе «Указать разделитель» выберите опцию «Другой разделитель» и введите запятую ", ".
- (3.) Выберите, как обработать данные из исходных ячеек. (Вы можете сохранить содержимое исходных ячеек или удалить содержимое из исходных ячеек.)
- (4.) Укажите выходную ячейку, под разделом «Разместить объединенные значения в», выберите опцию «Другие ячейки» и нажмите, чтобы выбрать ячейку для вывода результата.
- (5.) Наконец, нажмите кнопку OK.
Результат будет вставлен в указанную целевую ячейку.
- 🔹Очень удобный для пользователя.
- 🔹Без формул или кода.
- 🔹Обрабатывает большие диапазоны плавно.
- 🔹Объединяет строки, столбцы или диапазоны с любым разделителем, сохраняет форматирование и выбирает место вывода.
- 🔸Требуется установка.
Преобразование списка столбцов в список, разделенный запятыми, с помощью кода VBA
Альтернативно, если вы предпочитаете автоматизировать задачу или вам нужно работать с большими динамически изменяющимися диапазонами, вы можете написать макрос VBA, который проходит по каждой ячейке в указанном столбце, добавляет её непустое значение, за которым следует запятая (или любой другой разделитель, который вы выбрали), обрезает лишний разделитель в конце и выводит полностью объединенную строку, разделенную запятыми, в целевую ячейку.
1. Удерживайте клавиши Alt и F11 на клавиатуре, чтобы открыть окно Microsoft Visual Basic для приложений.
2. Нажмите Insert > Module и скопируйте VBA в модуль.
VBA: Преобразование списка столбцов в список, разделенный запятыми
Sub ChangeRange()
' Updateby Extendoffice
Dim rng As Range
Dim InputRng As Range, OutRng As Range
Dim outStr As String
Dim xTitleId As String
xTitleId = "KutoolsforExcel"
Set InputRng = Application.Selection
Set InputRng = Application.InputBox("Select source range:", xTitleId, InputRng.Address, Type:=8)
Set OutRng = Application.InputBox("Output to (single cell):", xTitleId, Type:=8)
outStr = ""
For Each rng In InputRng
If Len(Trim(rng.Value)) > 0 Then
If outStr = "" Then
outStr = rng.Value
Else
outStr = outStr & ", " & rng.Value
End If
End If
Next rng
OutRng.Value = outStr
End Sub
3. Нажмите кнопку Run или клавишу F5 для запуска VBA. На экране появится диалоговое окно, и вы сможете выбрать список столбцов, который хотите преобразовать. См. скриншот:
4. Нажмите OK, затем появится ещё одно диалоговое окно, чтобы выбрать ячейку. См. скриншот:
5. Нажмите OK, и все значения в списке столбцов будут преобразованы в список, разделенный запятыми, в ячейке.
Заключение:
- Для простоты и производительности используйте TEXTJOIN в Excel 2019/365.
- Для совместимости метод массива CONCAT + IF работает во всех версиях.
- Для разовых задач без формул Kutools предоставляет решение с одним кликом.
- Для полной автоматизации или сложных правил макрос VBA является наиболее гибким.
Выберите метод, соответствующий вашей версии Excel, частоте выполнения задачи и уровню комфорта с надстройками или VBA. Используя эти оптимизированные техники, преобразование любого столбца в аккуратный, разделенный запятыми список становится легкой задачей. Если вас интересуют дополнительные советы и хитрости Excel, наш сайт предлагает тысячи учебных материалов, которые помогут вам освоить Excel.
Связанные статьи:
- Преобразование названия месяца в число в Excel
- Преобразование военного времени в стандартное время
- Преобразование одной ячейки в несколько ячеек/строк в Excel
Лучшие инструменты для повышения продуктивности в Office
Повысьте свои навыки работы в Excel с помощью Kutools для Excel и ощутите эффективность на новом уровне. Kutools для Excel предлагает более300 расширенных функций для повышения производительности и экономии времени. Нажмите здесь, чтобы выбрать функцию, которая вам нужнее всего...
Office Tab добавляет вкладки в Office и делает вашу работу намного проще
- Включите режим вкладок для редактирования и чтения в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Открывайте и создавайте несколько документов во вкладках одного окна вместо новых отдельных окон.
- Увеличьте свою продуктивность на50% и уменьшите количество щелчков мышью на сотни ежедневно!
Все надстройки Kutools. Один установщик
Пакет Kutools for Office включает надстройки для Excel, Word, Outlook и PowerPoint, а также Office Tab Pro — идеально для команд, работающих в разных приложениях Office.





- Комплексный набор — надстройки для Excel, Word, Outlook и PowerPoint плюс Office Tab Pro
- Один установщик, одна лицензия — настройка занимает считанные минуты (MSI-совместимо)
- Совместная работа — максимальная эффективность между приложениями Office
- 30-дневная полнофункциональная пробная версия — без регистрации и кредитной карты
- Лучшее соотношение цены и качества — экономия по сравнению с покупкой отдельных надстроек