Как VLOOKUP несколько значений в одной ячейке в Excel (2 простых метода)

  • Поделись Этим
Hugh West

При работе с большими объемами данных в Excel иногда возникает ситуация, когда вам нужно найти значения, которые появляются несколько раз в вашем наборе данных. Таким образом, вам нужно увидеть эти данные в одной ячейке. В этом руководстве мы покажем вам, как использовать VLOOKUP для нескольких значений в одной ячейке в Excel.

Вообще говоря, мы не используем напрямую VLOOKUP Здесь мы собираемся найти несколько значений в одной ячейке, что будет аналогично функции VLOOKUP. Надеемся, что этот урок будет вам полезен.

Скачать Рабочую тетрадь для практических занятий

Vlookup Несколько значений в одной ячейке.xlsm

2 простых способа Vlookup для нескольких значений в одной ячейке

Сейчас мы покажем вам два способа поиска нескольких значений в одной ячейке в Excel. Первый способ - это использование функции Формулы а второй использует VBA В этой статье мы рассмотрим как повторяющиеся, так и неповторяющиеся значения. Таким образом, вы можете выбрать наиболее подходящий метод в зависимости от вашей проблемы.

Чтобы продемонстрировать эту проблему, мы будем использовать следующий набор данных:

Вот, у нас есть несколько продавцов Имена и их продажа Продукция Теперь наша цель - найти продаваемые товары каждого продавца.

1. использование формул для Vlookup нескольких значений в одной ячейке в Excel

Сайт TEXTJOIN будет нашей основной функцией для реализации этого метода. Функция TEXTJOIN Функция позволяет соединить 2 или более строк вместе, при этом каждое значение разделяется символом разделитель В основном, мы комбинируем различные функции с функцией TEXTJOIN для реализации нашей формулы.

Сайт TEXTJOIN Функция доступна только для Excel 2019 и Office 365.

Основной синтаксис функции TEXTJOIN:

=TEXTJOIN(delimiter, ignore_empty, text1, [text2], ...)

Здесь нашим разделителем будет запятая ( "," ) для разделения значений в одной ячейке.

1.1 Функции TEXTJOIN и IF

Теперь, эта формула довольно проста в использовании. Эта формула будет искать значения и вставлять их в одну ячейку с разделителем - запятой. Но, помните, что эта формула вернет значение с дубликатами.

Основной синтаксис:

=TEXTJOIN(", ",TRUE,IF(lookup_value=lookup_range,,finding_range,""))

📌 Шаги

1. Сначала введите следующую формулу в Ячейка F5 :

=TEXTJOIN(", ",TRUE,IF(E5=B5:B13,C5:C13,""))

2. Затем нажмите Войдите.

3. Наконец, перетащите Наполнительная рукоятка значок над диапазоном ячеек F6:F7 .

В конце концов, мы успешно используем VLOOKUP несколько значений в одной ячейке.

🔎 Разбивка формулы

Мы используем эту разбивку только для человека "Джон".

IF(E5=B5:B13,C5:C13,"")

Эта функция возвращает следующий массив:

{"Mobile";"";"";"TV";"";"Fridge";"";"Mobile";""}

TEXTJOIN(", ",TRUE,IF(E5=B5:B13,C5:C13,""))

Наконец, в TEXTJOIN функция вернет следующий результат:

{Мобильный, телевизор, холодильник, мобильный}

Читать далее: Excel VLOOKUP для возврата нескольких значений в одной ячейке, разделенных запятой

1.2 Функции TEXTJOIN и MATCH (без дубликатов)

Теперь, если вы хотите получить несколько значений в одной ячейке, вы можете использовать эту формулу. Эта формула представляет собой комбинацию формул TEXTJOIN и МАТЧ Эта формула немного сложна в использовании, но, несомненно, она даст желаемые значения.

📌 СТЕПЕНИ

1. Сначала введите следующую формулу в Ячейка F5 :

=TEXTJOIN(",", TRUE, IF(IFERROR(MATCH(C5:C13, IF(E5=B5:B13, C5:C13, ""), 0),"")=MATCH(ROW(C5:C13), ROW(C5:C13)), C5:C13, "")))

2. Затем нажмите Войдите.

3. Наконец, перетащите Наполнительная рукоятка значок над диапазоном ячеек F6:F7 .

В конце концов, мы успешно используем VLOOKUP несколько значений в одной ячейке без дублирования.

🔎 Разбивка формулы

Мы используем эту разбивку только для человека "Джон".

ROW(C5:C13)

Он возвращает массив {5;6;7;8;9;10;11;12;13}

MATCH(ROW(C5:C13), ROW(C5:C13))

Он возвращается: {1;2;3;4;5;6;7;8;9}

IF(E5=B5:B13, C5:C13, "")

Он возвращается: {"Mobile";"";"";"TV";"";"Fridge";"";"Mobile";""}

MATCH(C5:C13, IF(E5=B5:B13, C5:C13, "")

Эта функция возвращает: {8;8;7;9;7;7;7;8;7}

IFERROR(MATCH(C5:C13, IF(E5=B5:B13, C5:C13, ""), 0),"")

Он возвращается: {1;1;"";4;"";6;"";1;""}

IF(IFERROR(MATCH(C5:C13, IF(E5=B5:B13, C5:C13, ""), 0),"")=MATCH(ROW(C5:C13), ROW(C5:C13)), C5:C13, "")

Он возвращается: {"Mobile";"";"";"TV";"";"Fridge";"";"";""}

TEXTJOIN(",", TRUE, IF(IFERROR(MATCH(C5:C13, IF(E5=B5:B13, C5:C13, ""), 0),"")=MATCH(ROW(C5:C13), ROW(C5:C13)), C5:C13, "")))

Окончательный результат будет следующим Мобильный телефон, телевизор, холодильник .

Читать далее: Как выполнить VLOOKUP с несколькими строками в Excel (5 методов)

1.3 Функции TEXTJOIN и UNIQUE (без дубликатов)

Теперь UNIQUE Функция UNIQUE доступна только в Excel 365. Поэтому, если вы используете Excel 365, вы можете использовать эту формулу. Предыдущая формула немного сложна, но эта формула облегчит поиск значений в одной ячейке. Функция UNIQUE возвращает список уникальных значений в списке или диапазоне. Теперь, разница между первой и третьей формулой заключается в использовании функции UNIQUE функция перед ЕСЛИ функция.

Основной синтаксис функции UNIQUE:

=UNIQUE (array, [by_col], [exactly_once])

массив - Диапазон или массив, из которого нужно извлечь уникальные значения.

by_col - [необязательно] Способ сравнения и извлечения. По строке = FALSE (по умолчанию); по столбцу = TRUE.

точно_однократно - [необязательно] TRUE = значения, которые встречаются один раз, FALSE = все уникальные значения (по умолчанию)

📌 СТЕПЕНИ

1. Сначала введите следующую формулу в Ячейка F5 :

=TEXTJOIN(", ",TRUE,UNIQUE(IF(E5=B5:B13,C5:C13,""))))

2. Затем нажмите Войдите.

3. Наконец, перетащите Наполнительная рукоятка значок над диапазоном ячеек F6:F7.

Как вы можете видеть, мы успешно использовали VLOOKUP несколько значений в одной ячейке.

🔎 Разбивка формулы

Мы используем эту разбивку только для человека "Джон".

➤ IF(E5=B5:B13,C5:C13,"")

Возвращается {"Mobile";"";"";"TV";"";"Fridge";"";"Mobile";""}

➤ UNIQUE(IF(E5=B5:B13,C5:C13,""))

Возвращается {"Mobile";"";"TV";"Fridge"}

TEXTJOIN(", ",TRUE,UNIQUE(IF(E5=B5:B13,C5:C13,""))))

Окончательный результат Мобильный телефон, телевизор, холодильник

Читать далее: Как с помощью Vlookup вернуть несколько значений в раскрывающемся списке

2. Использование кодов VBA для Vlookup нескольких значений в одной ячейке

Сайт TEXTJOIN функция доступна только для MS Excel 2019 и MS Excel 365 Итак, если вы хорошо знакомы с кодами VBA Excel, эти два кода будут очень практичными для вас. Первый - с дубликатами, второй - без дубликатов. Так что выбирайте метод в зависимости от вашей проблемы.

2.1 VBA Кодирование нескольких значений в одной ячейке

📌 СТЕПЕНИ

1. Первый. Нажмите Alt+F11 чтобы открыть редактор Visual Basic.

2. Затем нажмите на Вставка> Модуль .

3. Далее введите следующий код:

 Function MultipleValues(work_range As Range, criteria As Variant, merge_range As Range, Optional Separator As String = ",") As Variant Dim outcome As String On Error Resume Next If work_range.Count merge_range.Count Then MultipleValues = CVErr(xlErrRef) Exit Function End If For i = 1 To work_range.Count If work_range.Cells(i).Value = criteria Then outcome = outcome & Separator &merge_range.Cells(i).Value End If Next i If outcome "" Then outcome = VBA.Mid(outcome, VBA.Len(Separator) + 1) End If MultipleValues = outcome Exit Function End Function 

4. Теперь перейдите на свой рабочий лист. Затем введите следующую формулу Ячейка F5 :

=MultipleValues(B5:B13,E5,C5:C13,",")

5. Затем нажмите ENTER.

6. Наконец, перетащите значок Fill Handle на диапазон ячеек. F6:F7.

В итоге мы использовали VLOOKUP несколько значений в одной ячейке .

Читать далее: VLOOKUP для возврата нескольких значений по горизонтали в Excel

2.2 Коды VBA для LOOKUP нескольких значений в одной ячейке (без дубликатов)

📌 СТЕПЕНИ

1. Первый. Нажмите Alt+F11 чтобы открыть редактор Visual Basic.

2. Затем нажмите на Вставка> Модуль .

3. Далее введите следующий код:

 Function ValuesNoDup(target As String, search_range As Range, ColumnNumber As Integer) Dim i As Long Dim outcome As String For i = 1 To search_range.Columns(1).Cells.Count If search_range.Cells(i, 1) = target Then For J = 1 To i - 1 If search_range.Cells(J, 1) = target Then If search_range.Cells(J, ColumnNumber) = search_range.Cells(i, ColumnNumber) Then GoTo Skip End If End If Next J outcome =outcome & " " & search_range.Cells(i, ColumnNumber) & "," Skip: End If Next i ValuesNoDup = Left(outcome, Len(outcome) - 1) End Function 

4. После вставки кода нажмите кнопку Инструменты> Ссылки в открывшемся окне Microsoft Visual Basic for Applications, а затем в появившемся окне Ссылки - Диалоговое окно VBAProject, установите флажок Microsoft Scripting Runtime опция в Доступные ссылки список. Нажмите на OK .

5. Теперь перейдите на свой рабочий лист. Затем введите следующую формулу Ячейка F5 :

=ValuesNoDup(E5,B5:B13,2)

Здесь 2 - это номер столбца набора данных.

6. Затем нажмите Войти .

7. Наконец, перетащите Наполнительная рукоятка значок над диапазоном ячеек F6:F7.

Как вы можете видеть, мы использовали VLOOKUP несколько значений в одной ячейке без дубликатов.

Читать далее: Как с помощью VLOOKUP вернуть несколько значений в Excel (8 методов)

Заключение

В заключение, я надеюсь, что этот учебник поможет вам в vlookup несколько значений в одной ячейке в Excel. Скачайте рабочую тетрадь и попробуйте сделать это самостоятельно. Несомненно, это будет способствовать развитию ваших знаний Excel. Кроме того, не стесняйтесь оставлять отзывы в разделе комментариев. Ваши ценные отзывы поддерживают нашу мотивацию создавать много подобных статей. Не забудьте заглянуть на наш сайт ExcelWIKI для решения проблем и задач, связанных с Excel.

Хью Уэст — опытный тренер и аналитик Excel с более чем 10-летним опытом работы в отрасли. Он имеет степень бакалавра в области бухгалтерского учета и финансов и степень магистра делового администрирования. Хью страстно любит преподавать и разработал уникальный подход к обучению, которому легко следовать и который легко понять. Его экспертные знания Excel помогли тысячам студентов и специалистов по всему миру улучшить свои навыки и преуспеть в своей карьере. В своем блоге Хью делится своими знаниями со всем миром, предлагая бесплатные учебные пособия по Excel и онлайн-обучение, чтобы помочь отдельным лицам и компаниям полностью раскрыть свой потенциал.