Извлечь только уникальные значения из горизонтального диапазона в одну ячейку, разделенные запятой

Извлечь только уникальные значения из горизонтального диапазона в одну ячейку, разделенные запятой
Извлечь только уникальные значения из горизонтального диапазона в одну ячейку, разделенные запятой

Попробуйте справиться с проблемой нескольких записей, разделенных запятыми, в одной ячейке:

=TEXTJOIN(",",TRUE,FILTERXML("<t><s>" &SUBSTITUTE(TEXTJOIN(",",TRUE,K27:N27),",","</s><s>")&"</s></t>","//s[not(preceding-sibling::* = .)]"))

Алгоритм

  • Объединить ячейки с помощью разделителя-запятой
  • Создать XML для каждой подстроки, разделенной запятой
  • Используйте xPath, который возвращает только уникальные узлы
  • Объедините результаты функции FILTERXML с помощью разделителя-запятой

Есть и другие решения, если у вас Mac и нет функции FILTERXML

При необходимости вы можете сортировать результаты

Редактирование для решения Office 365 для MAC

=TEXTJOIN(",",TRUE,UNIQUE(TRIM(MID(SUBSTITUTE(TEXTJOIN(",",TRUE,K27:N27),",",REPT(" ",99)),IF(SEQUENCE(99,,0)=0,1,SEQUENCE(99,,0)*99),99))))

Рекомендую посмотреть эти видео для лучшего погружения в вопрос:

Прикрепленное видео 1 - Поиск и подстановка по 2 критериям (ВПР по 2 столбцам)

Прикрепленное видео 2 - Трюк Excel 16. ВПР для множества значений (без использования функции ВПР)


NevaDev, 29 января 2023 г., 19:26