Невозможно использовать vlookup из массива, разделенного запятыми - PullRequest
0 голосов
/ 03 августа 2020

Здравствуйте, я борюсь трудно с функцией ВПРА,

1002 * Я хочу посмотреть целеуказатель (B) в GEMS BOM целеуказатель (F), но проблема в столбце F является запятые значения. Насколько я знаю, решить эту проблему невозможно. не могли бы вы помочь с изображения ниже?

изображение в формате Excel

Ответы [ 3 ]

2 голосов
/ 03 августа 2020

Используйте ИНДЕКС / АГРЕГАТ:

=INDEX(G:G,AGGREGATE(15,7,ROW($F$2:$F$100)/(ISNUMBER(SEARCH(","&B2&",",","&$F$2:$F$100&","))),1))
1 голос
/ 03 августа 2020

Вы можете использовать следующий подход для получения вывода.

=LOOKUP(2^15,SEARCH(B2&",",$F$2:$F$100&",",1),$G$2:$G$100)

Не забудьте настроить ссылки на диапазон и вернуть ссылки в соответствии с требованиями.

0 голосов
/ 03 августа 2020

Я считаю, что использование функций базы данных в Excel более эффективно, чем использование формул массива, и это очень мощный, универсальный и c универсальный инструмент.

  1. Предположим, заголовок таблицы в строке 1. Мой Excel взят из Office 365.
  2. Удалите пробелы из заголовков столбцов (строка 1), как требуется в функциях базы данных.
  3. Имя столбца B (Ctrl + F3), например, C_COD.
  4. Откройте новый столбец H перед текущим столбцом H (который будет изменен на I) и поместите CRIT в ячейку H1 или любой другой заголовок
  5. В новом столбце CRIT введите формулу =NOT(ISERR (SEARCH(C_Cod, GemsBomDesignator))) IN H2 и скопируйте до конца таблицы. Не беспокойтесь о значении ошибки в оценке
  6. В ячейке E2 введите формулу =DGET($F$2:$G$1000,"Value", H1:H2) и скопируйте ее.

Замените 1000 на количество нижняя строка таблицы.

Объяснение :

DGET - это функция базы данных в EXCEL для извлечения значения. Первый параметр - это таблица «базы данных», простая и плотная таблица с именами столбцов (без пробелов) в первой строке. «Значение» - это имя «поля» для возврата, которое является заголовком желаемого столбца в двойных кавычках, а H1:H2 - это критерий (условие), где H2 - условие критериев, а * 1039. * только предыдущая строка с любым содержанием (в данном случае в ней нет logi c, но это требование функции).

Критерии могут быть выражением с двумя особыми наблюдениями:

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

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

...