У меня есть 2 рабочих листа в Excel. Лист 1 - это прайс-лист, предоставленный нам поставщиком. Лист 2 - это список всех продуктов, которые мы поставляем (могут быть от нескольких поставщиков). В первом столбце каждого листа указан код продукта, а во втором столбце - цена. Я выполнил сопоставление индекса в столбце «Цена» на листе 2, чтобы получить информацию о цене на листе 1 (она содержит актуальные цены). Соответствие индекса работает, но если у меня есть продукт на листе 2, которого нет на листе 1, я не хочу, чтобы цена на листе 2 изменилась. Я думаю, что мне нужно выполнить функцию IF в VBA ... но я не знаю, как это сделать!
2 ответа
2
Вы можете использовать функцию IFERROR для обработки того, что делать с результатами # N/A.
Например
=IFERROR(YourLookup,10.5)
Это вернет результат поиска, если он успешен, или 10,5, если он не сможет найти результат.
1
В дополнение к ответу @Jonno лучше всего использовать Iferror в отдельном столбце. Что-то вроде этого должно работать в ячейке c2, столбец которой я бы назвал "Обновленная цена":
=Iferror(<<<EXISTING INDEX MATCH FORMULA HERE>>>,b2)
Для этого нужно запустить формулу соответствия индекса и получить правильную цену. Если он не может этого сделать, он вернет существующую цену. Это изменит это:
Product ID Price
1 3.50
2 #N/A
К этому
Product ID Original Price Updated Price
1 2.50 3.50
2 2.50 2.50