Я пытаюсь создать выпадающий список на листе, который ищет соответствующее значение на другом листе. На картинке ниже приведен лист, который называется « PricesforCSV . Здесь я хочу, чтобы обведенное значение в столбце B было значением, извлеченным из второго листа invoiceLookup:

Определенный список в действии В столбце B должна быть указана цена, но в данный момент она равна «FALSE».

Как вы можете видеть, пока у меня есть раскрывающийся список с использованием работы с проверкой данных. Это определяется так: =invoiceLookup!$D:$D ,

Ниже приведен лист invoiceLookup который в качестве информации, которую я хочу найти. Столбец E имеет цену, которую я хочу донести.

Этот лист содержит информацию, которую я хочу найти

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

 =IF(ISNA(VLOOKUP(A3,invoiceLookup!D2:D300,2,0)),
  VLOOKUP(A3,invoiceLookup!E2:E300,2,0))

В настоящее время возвращается false.

Идея здесь в том, чтобы найти все строки в invoiceLookup!D2:D300 ищет соответствие значению в A3 и, если оно найдено, заполняет ячейку соответствующим значением в следующем столбце: invoiceLookup!E2:E300 .

  • Я не уверен, что это лучший подход, могу ли я использовать список с двумя столбцами, и получить значения из этого?
  • Может быть проблема с пробелами в элементах из выпадающего списка, хотя попытка значений без пробелов в настоящее время не решает проблему.

Спасибо, что нашли время посмотреть на это!

1 ответ1

0

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

Вот к чему я пришел:

=IF(NOT(ISNA(VLOOKUP(A3,invoiceLookup!$D:$E,2,0))),VLOOKUP(A3,invoiceLookup!$D:$E,2,0))
  • Первые проблемы были в VLOOKUP, второе значение в массиве - это место, где хранится возвращаемое значение, я подумал, что он запросил начальную и конечную точку для поиска. По сути, я искал возвращаемое значение в том же столбце, что и искомое значение. Исправленная версия теперь просматривает весь столбец для поиска $D и весь столбец для возвращаемого значения $E: VLOOKUP(A3,invoiceLookup!$D:$E,2,0)

  • Я также неправильно понял ISNA которая возвращает true когда есть пустая ячейка (я думал наоборот), что привело меня к добавлению NOT к первой половине формулы: =IF(NOT(ISNA(VLOOKUP(A3,invoiceLookup!$D:$E,2,0))), ...

РЕДАКТИРОВАТЬ ----------------------- Небольшая ревизия, поскольку старая версия добавила "FALSE" в ячейки с пустым значением. Следующее оставляет клетку пустой:

=IF(ISNA(VLOOKUP(A20,invoiceLookup!$D:$E,2,FALSE)),"",VLOOKUP(A20,invoiceLookup!$D:$E,2,FALSE))

/РЕДАКТИРОВАТЬ ----------------------

Я понимаю, что формулы Excel не получают столько трафика, как только 19 или около того смотрели на это в последний день, но для тех, кто сталкивается с этим снова, я надеюсь, что это окажется полезным.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .