Добрый всем день.
Подскажите пожалуйста, как найти решение проблемы.
Суть проблемы в
следующем:
Есть сводная таблица следующего вида:
Столбцы - факт/план,
рейтинг.
Строки - регионы,
Есть фильтр - по месяцам.
(выбираешь месяц,
смотришь факт/план, для этого месяца для конкретного региона).
В своднике
план считается как план числитель / план знаменатель.
Факт -
аналогично.
Есть весовой коэффициент, на который умножаются значения в
разные месяцы и получается рейтинг.
То есть мне нужно, чтобы рассчёт при
выборе несокльких месяцев в фильтре (например, за ноябрь-декабрь) происходил
следующим образом:
Рейтинг = коэффициент ноября * (факт/план ноября) +
коэффициент декабря * (факт/план декабря)
Но экзель же считает следующим
образом:
1. суммирует все соответсвующие значения (числитель плана за ноябрь
+ знаменатель плана за ноябрь, остальное аналогично).
2. производит таким
образом вычисление среднего плана за 2 месяца
3. находит средний весовой
коэффициент (например, в ноябре вес 0%, в декабре 100%, экзель берёт
50%)
Что получается в итоге:
Если декабрьский факт/план = 1, а в
ноябре - 10,
вес на ноябрь 0%, на декабрь 100%, результат должен быть
1.
Экзель же его считает как (1+10)*((0%+100%)/2)=5,5
Я вижу 2
варианта решения проблемы, но оба они неудовлетворительные, так как слишком
трудоёмкие:
1. данные тянутся с sql скрипта. можно там насоздавать столбцов с
промежуточными значениями, но делать мне бы этого сильно не хотелось, так как
таблица намного более громозкая, чем описанная мной выше (там далеко не только
факт/план), а матрица в скрипте sql ранспонируется.
2. находить огромную кучу
промежуточных значений, выводить их в сводник. значения эти делать взвешенными
(делить на определённый вес), чтобы дескретизировать значения по месяцам. Но
этот метод еще более затратный, чем предыдущий.
Вас прошу подсказать
другие методы (если такие есть). Вдруг есть чудо-кнопочка, про существование
которой я не знаю. Или, если видите, как можно упростить рассмотренные мной
методы, чтобы всё было попроще, тоже буду очень благодарен =)