Цитата
another_user:
а то если брать апрель
2016 - [решено] Подскажите по формуле в EXCEL
поясните. Апреля в задаче нет. Думаю, с
округлением
вы и сами справитесь.
Теперь пояснения к формулам
[spoiler]Я убрал объединение ячеек, уж простите...На листе 2 та же информация, что и на листе GKS, только убраны квартальные промежуточные расчеты. Введены
именованные диапазоны
(так красивее формула получается
): в столбце В диапазону Лист2!$B$6:$B$27 присвоено имя "Месяцы", в столбце С диапазону Лист2!$C$6:$C$27 - "
Коэффициенты"В столбце В Лист2 названия месяцев заменены числовыми значениями 1.01.2014, 1.02.2014 и т.д. и применено форматирование "[$-ru-RU]ММММ ГГГГ;@"Теперь к формуле. Пояснения для ячейки Е13
Код:
[/spoiler]
Код: Выделить всё
=ЕСЛИ(РАЗНДАТ(C13;$B$1;"d")>179;D13*(100+СУММПРОИЗВ((Коэффициенты-100)*(Месяцы>ДАТАМЕС(C13;-1))))/100;D13)
РАЗНДАТ(C13;$B$1;"d") - недокументированная функция, но справка по ней
есть
. Одно замечание: вместо "Д", "М", "Г", и т.д. нужно использовать "d', "m", "y", и т.д.
Считает количество дней от текущей даты до даты в ячейке С13 в днях.
Поскольку один из дней входит в диапазон дат, пришлось в условии использовать не 180, а 179
Теперь непосредственно о вычислении
ваше желание:
Цитата:
(100+(х-100))/100, где х это каждый месяц в периоде между...
исполнено в виде
(100+СУММПРОИЗВ((Коэффициенты-100)*(Месяцы>ДАТАМЕС(C13;-1))))/100
(Коэффициенты-100) - вычитает 100 от каждого значение в диапазоне "Коэффициенты[/i]", это понятно. Результат: диапазон уменьшенных на 100 коэффициентов инфляции.
(Месяцы>ДАТАМЕС(C13;-1)) - отсекает месяцы, меньшие даты заключения контракта. Т.к. в диапазоне "
Месяцы" месяц начинается с 1-го числа, нужно значение месяца в ячейке С13 уменьшить на 1 месяц, для этого нужна функция "
ДАТАМЕС
". Результат: диапазон логических 0 и 1. 0 - месяц меньше месяца закл. контракта, 1 - больше или равен.
Дальше функция СУММПРОИЗВ суммирует произведения двух диапазонов: уменьшенных коэффициентов и 0 и 1 согласно выбранным месяцам.
Остальное - чистая арифметика.
Надеюсь, понятно объяснил
