Совет. Другие языки - Google-Translated. Вы можете посетить English версия этой ссылки.
Войти
x
or
x
x
Регистрация
x

or

Как вернуть несколько значений поиска в одну ячейку, разделенную запятой?

В Excel мы можем применить функцию VLOOKUP для возврата первого сопоставленного значения из ячеек таблицы, но иногда нам нужно извлечь все совпадающие значения, а затем выделить их отдельным разделителем, например запятой, тире и т. Д., В один как показано на следующем скриншоте. Как мы можем получить и вернуть несколько значений для поиска в одной ячейке, разделенной запятой, в Excel?

doc возвращает несколько значений, разделенных запятыми 1

Возвращает несколько значений поиска в одной ячейке, разделенной запятой, с помощью функции User Defined

Возвращает несколько значений поиска в одной ячейке, разделенной запятой, с помощью Kutools for Excel


Возвращает несколько значений поиска в одной ячейке, разделенной запятой, с помощью функции User Defined

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

1, Удерживайте ALT + F11 , чтобы открыть Microsoft Visual Basic для приложений окна.

2. Щелчок Вставить > модуль, и вставьте следующий код в модуль Окно.

Код VBA: возвращает несколько значений поиска в одну ячейку, разделенную запятой

Function SingleCellExtract(LookupValue As String, LookupRange As Range, ColumnNumber As Integer, Char As String)
'Updateby20150824
    Dim I As Long
    Dim xRet As String
    For I = 1 To LookupRange.Columns(1).Cells.Count
        If LookupRange.Cells(I, 1) = LookupValue Then
            If xRet = "" Then
                xRet = LookupRange.Cells(I, ColumnNumber) & Char
            Else
                xRet = xRet & "" & LookupRange.Cells(I, ColumnNumber) & Char
            End If
        End If
    Next
    SingleCellExtract = Left(xRet, Len(xRet) - 1)
End Function

3, Затем сохраните этот код и закройте окно модуля, вернитесь на рабочий лист и введите следующую формулу: = SingleCellExtract (D2, A2: B15,2, "") в пустую ячейку, в которую вы хотите вернуть результат. Затем нажмите вводить ключ, чтобы получить результат, см. снимок экрана:

doc возвращает несколько значений, разделенных запятыми 2

Внимание: В приведенной выше формуле:

D2: указывает значения ячейки, которые вы хотите найти;

A2: B15: - диапазон данных, который вы хотите получить;

2: число 2 - это номер столбца, возвращаемое значение соответствия;

,: запятая - это разделитель, который вы хотите разделить на несколько значений.

Вы можете изменить их на свои нужды.


Возвращает несколько значений поиска в одной ячейке, разделенной запятой, с помощью Kutools for Excel


Если у вас есть Kutools for Excel, эта задача больше не будет проблемой. Расширенные ряды комбинирования утилита может помочь вам объединить все относительные значения на основе столбца.

Kutools for Excel : с более чем 300 удобными надстройками Excel, бесплатно попробовать без ограничений в 60-дни.

После установки Kutools for Excel, сделайте следующее:

1, Выберите диапазон данных, в котором вы хотите совместить все соответствующие значения в зависимости от столбца.

2. Щелчок Kutools > содержание > Расширенные ряды комбинирования, см. снимок экрана:

doc возвращает несколько значений, разделенных запятыми 3

3. В Объединить строки на основе столбца диалоговое окно, щелкните имя столбца, которое хотите объединить на основе, а затем нажмите Основной ключ , см. снимок экрана:

doc возвращает несколько значений, разделенных запятыми 4

4, Затем щелкните другое имя столбца, которое вы хотите совместить согласованные значения, и нажмите Сочетать выбрать один разделитель для разделения комбинированных значений, см. снимок экрана:

doc возвращает несколько значений, разделенных запятыми 5

5, Затем нажмите OK , все соответствующие ячейки с одинаковым значением были объединены в одну ячейку, которые разделены запятой, см. скриншоты:

doc возвращает несколько значений, разделенных запятыми 6  2 doc возвращает несколько значений, разделенных запятыми 7

Нажмите, чтобы узнать подробности об этой утилите Advanced Combine Rows ...

Скачать и бесплатно пробную версию Kutools для Excel сейчас!


Демонстрация: возвращает несколько значений поиска в одной ячейке, разделенной запятой, с помощью Kutools for Excel

Kutools for Excel: с более чем 200 удобными надстройками Excel, бесплатно попробовать без ограничений в 60-дни. Скачать и бесплатно пробную версию!


  • Супер Формула Бар (легко редактировать несколько строк текста и формул); Макет чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон...
  • Объединить ячейки / строки / столбцы и хранение данных; Содержание сплит-клеток; Объедините дублирующиеся строки и сумму / среднее... предотвратить повторяющиеся клетки; Сравнить диапазоны...
  • Выберите Дубликат или Уникальный Ряды; Выберите пустые строки (все ячейки пусты); Супер найти и нечеткая находка во многих рабочих тетрадях; Случайный выбор ...
  • Точная копия Несколько ячеек без изменения формулы ссылки; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое ...
  • Любимые и быстро вставляемые формулы, Диапазоны, графики и рисунки; Шифрование ячеек с паролем; Создать список рассылки и отправлять электронные письма ...
  • Извлечение текстаДобавить текст, Удалить по позиции, Удалить пространство; Создание и печать промежуточных итогов подкачки; Преобразование содержимого ячеек и комментариев...
  • Суперфильтр (сохранить и применить схемы фильтров к другим листам); Расширенный поиск по месяцам / неделям / дням, частоте и более; Специальный фильтр жирным шрифтом, курсивом ...
  • Объединить рабочие тетради и рабочие листы; Объединение таблиц на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF...
  • Работает с Office 2007-2019 и 365 и поддерживает все языки. Это легко развернуть в вашей компании. Полнофункциональная 60-дневная бесплатная пробная версия.
вкладка kte 201905
  • Включить редактирование и чтение с вкладками в Word, Excel, PowerPoint, Издатель, Доступ, Visio и Проект.
  • Открывайте и создавайте несколько документов в новых вкладках одного и того же окна, а не в новых окнах.
  • Увеличивает вашу производительность на 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.
    Js · 1 years ago
    VB command breaks when the range is longer than 154 rows (ie :B154)....
  • To post as a guest, your comment is unpublished.
    M Macklam · 1 years ago
    thank you, firstly i managed to get this to work without the slow down in performance. I'm using values rather that text so my question is i want to bring back all those with less than say 19 points in a list. Can the single cell Extract work for that or does it have to be a specific value?
  • To post as a guest, your comment is unpublished.
    A Ward · 1 years ago
    This simply does not work. I was unable to get it to work in my own application, so I copy/pasted the vba and the formula and it returned an error every time
  • To post as a guest, your comment is unpublished.
    K Ray · 1 years ago
    This works but slows down my excel majorly! Any tips to help speed?
  • To post as a guest, your comment is unpublished.
    Guest · 2 years ago
    Thanks for this post. Do you know how I would go about manipulating the two separate integers this is creating. For example, lets say that the '=SingleCellExtract' function now produces (1 , 2). Is there a way to have a cell next to it that does (1+.5 , 2+.5)?
  • To post as a guest, your comment is unpublished.
    GANGADHAR · 2 years ago
    WHile iam going to paste and save the module ,there is a pop-up message appears that significant loss of functionality compatibility checker