1

У меня есть 2 листа.

Один «Контент» имеет код продукта в A11-A2912 и цене E11-E2912, а некоторые поля не заполнены.

Новые данные находятся на отдельном листе «Новые данные о цене» с кодом продукта в A1-A1409 и ценой в B1-B1409. Коды продуктов в «Новых ценовых данных» расположены в числовом порядке, но не в «Контенте».

Мне нужно сравнить коды продуктов и обновить данные о ценах в "Контенте" с данными из "Новые данные о ценах"

Я надеюсь, что это достаточно ясно

Я знаю, что на это уже где-то ответили, но я не смог найти ничего, что мог бы перевести на мою проблему.

2 ответа2

1

Вот как вы можете обновить цены в столбце E.

  1. Вставьте новый столбец F на лист содержимого.
  2. Поместите эту формулу в F11 и заполните столбец F рядом с последней ценой в столбце E (F11:F2912).

=IFNA(VLOOKUP(A11,'New Price Data'!$A$1:$B$1409,2,FALSE),IF(E11=0,"",E11))

  1. Выберите F11 до конца данных (F11:F2912) и нажмите Копировать.
  2. Выберите E11. Используйте специальную вставку для копирования значений.
  3. Удалить столбец F.

Для каждой строки в листе содержимого VLOOKUP проверяет A1:B1409 в листе данных новой цены. Если VLOOKUP находит код продукта из столбца A в листе содержимого, он возвращает соответствующую цену из листа данных новой цены. Если VLOOKUP не может найти продукт, он возвращает #NA .

IFNA смотрит на возвращение из VLOOKUP . Если возврат не #NA IFNA возвращает результат VLOOKUP в противном случае она возвращает старую цену из столбца Е. IF сохраняет поля , которые являются пустыми, в противном случае столбец F будет равна нулю , где столбец E пусто.

0

Я могу ошибаться, но я почти уверен, что вам придется использовать VBA, если только вы не хотите отформатировать лист контента в виде таблицы, а затем отсортировать ее в порядке кода продукта. Затем вы можете просто сделать значения в столбце цен на листе содержимого равными значениям в столбце цен листа "Новые данные о цене".

Да, я был неправ.

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