Напильником его
=ЕСЛИ(условие1;;ЕСЛИ(условие2;0,6;1)*E2)
Напильником его
=ЕСЛИ(условие1;;ЕСЛИ(условие2;0,6;1)*E2)
Прошу помочь с формулой. Есть А1 (цена - рубль), А2 (из вне будет приходить курс рубля к валюте) В ячейке А3 нужна формула, которая будет отображать цену в валюте, но менять ее при условии, если новое значение изменилось более чем на 5% от того, что отображается.
Примерно так: 1) товар стоит 100 рублей (А1) курс 1руб = 5 у.е. цена в валюте = 500 у.е. - зафиксирована и отображается в А3.
2) товар стоит 100 рублей (А1) курс 1руб = 5,2 у.е. (курс изменился менее 5%) цена в валюте должна стать 520, но остается = 500 у.е.
3) товар стоит 100 рублей (А1) курс 1руб = 5,3 у.е. (курс изменился более 5% от показателя п.1) цена в валюте изменилась = 530 у.е. - зафиксирована и отображается в А3.
4) товар стоит 100 рублей (А1) курс 1руб = 4,9 у.е. (курс изменился более 5% от показателя п.3) цена в валюте изменилась = 490 у.е. - зафиксирована и отображается в А3.
5) товар стоит 100 рублей (А1) курс 1руб = 5,1205 у.е. (курс изменился менее 5%) цена в валюте должна стать 512,5 у.е., но остается = 490 у.е.
В Excel в обычном режиме формулы не могут ссылаться сами на себя - зацикливание вычислений приводит к ошибкам. Такую задачу лучше решать макросом.
Возможность обойтись без VBA есть - разрешить итеративные вычисления.
Важно! Режим итеративных вычислений имеет ряд недостатков, использовать нужно осторожно и внимательно. При включенных итерациях можно не заметить ошибочную циклическую ссылку. Итеративные вычисления включаются в книгах, которые открываются при открытой книге с разрешенными итерациям.
Закладка Файл-Параметры-Формулы, установить галку Включить_итеративные_вычисления, количество итераций - 2.
При изменении значения в A2 запускается пересчет листа, формулы пересчитываются два раза (по количеству итераций).
ячейка Флаг (D1) меняет свое значение
=1-D1
На первой итерации 1 - 0 = 1, на второй 1 - 1 = 0 (пересчет происходит быстро, изменение в ячейке D1 взуально не отследить)
Ячейка хранения старого курса на одной итерации сохраняет значение, на второй меняет, если пороговый процент превышен:
=ЕСЛИ(D1;ЕСЛИ(ABS(A2-D2)/A2>5%;A2;D2);D2)
Спасибо. Сейчас буду смотреть.
Рубли с у.е. поменять местами бы да?
Владимир33 пользуется таким курсом
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)