3

У меня есть 2 рабочих листа в Excel. Лист 1 - это прайс-лист, предоставленный нам поставщиком. Лист 2 - это список всех продуктов, которые мы поставляем (могут быть от нескольких поставщиков). В первом столбце каждого листа указан код продукта, а во втором столбце - цена. Я выполнил сопоставление индекса в столбце «Цена» на листе 2, чтобы получить информацию о цене на листе 1 (она содержит актуальные цены). Соответствие индекса работает, но если у меня есть продукт на листе 2, которого нет на листе 1, я не хочу, чтобы цена на листе 2 изменилась. Я думаю, что мне нужно выполнить функцию IF в VBA ... но я не знаю, как это сделать!

2 ответа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

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