Я использую vlookup чтобы выбрать цены из прайс-листа на другом листе (sheet2), используя коды, назначенные для товаров на складе. Например, если код ячейки введен в ячейку sheet1 F5 , цена ячейки будет возвращена в ячейку J5 . Затем это умножается на количество в ячейке J6 чтобы получить произведение в ячейке J7 .

Проблема заключается в том, что всякий раз, когда происходит изменение цены и корректируется прайс-лист, это влияет как на новые записи, так и на цены предыдущих записей.

Как я могу внести изменения в прайс-лист, не влияя на цены, использованные для предыдущих записей?

Вот формула vlookup

=vlookup(F5,sheet2!G2:J5000,3, FALSE)

1 ответ1

1

Ваши «предыдущие записи» рассчитываются по формулам, т.е. ваша ячейка J7 имеет формулу J5*J6 , в свою очередь ваша ячейка J5 имеет формулу vlookup, которая берет значение цены из sheet2 .

Excel не видит эти записи как «предыдущие», для Excel ячейка всегда «текущая». Если вы измените значение на sheet2 , ваша предыдущая запись будет обновлена, поскольку формулы продолжают выполнять свою работу.

То, что вы хотите, займет немного ручного усилия, не прибегая к сценариям VBA.

После того, как вы ввели код товара в F5 и получили свой продукт в J7 , вам нужно будет

  1. выберите J7
  2. копия
  3. вставить специальные - значения

Выполнение вышеизложенного удалит / уничтожит формулу в J7 и оставит значение позади. Если вам нужны также J5 и J6 , вы можете просто выбрать все три за один раз и вставить специальные значения.

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