Excel 2011, VLOOKUP на всех листах и ​​проверка списка

585
orionrush

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

Defined List in action Column B should list the price, but is currently 'FALSE'

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

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

This sheet holds the information I want to lookup

В обведенной кружком ячейке 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.

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

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

0

1 ответ на вопрос

0
orionrush

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

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

=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 или около того смотрели на это в последний день, но для тех, кто сталкивается с этим снова, я надеюсь, что это окажется полезным.