Диаграммы в Эксель: задать диапазон формулой от даты
Модератор: Naeel Maqsudov
-
- Сообщения: 153
- Зарегистрирован: 11 июл 2005, 13:42
- Откуда: Крым, Алушта
- Контактная информация:
Здравствуйте, уважаемые.
Прошу помочь разобраться - возможно ли задать формулу выбора диапазона данных для диаграммы (простой график), с зависимостью от времени исполнения
Есть таблица, в которой отражена динамика изменения некоего параметра (точнее, ежедневно вносятся данные об объёме продаж вчерашнего дня - не накопительно, а именно отгрузка вчерашнего дня). В начале месяца таблица обнуляется. Выходной день склада - воскресенье (строго воскресенье, и только оно, то есть Новый Год и прочие праздники - не рассматриваются)
На основании этой таблицы строится диаграмма, по Х отражены календарные дни месяца, по Y откладываются данные, точки соединяются. Данные берутся из столбца таблицы "Сумма" (там несколько групп товаров, каждый заполняется отдельно, а масса суммируется и идёт в диаграмму).
Проблема в том, что если ставить в воскресенье продажи = 0, то на графике офигительный провал. Та же проблема, если сейчас - начало месяца, то все дни до конца месяца равны нулю, и это тоже выглядит некрасиво.
Скрыть в исходной таблице воскресенья - нельзя.
Поставил простую формулу во избежание провалов по воскресеньям: ЕСЛИ(СУММ(...)=0;ЯчейкаВыше;СУММ(...)) - провалы исчезли, однако эта формула приводит к длинной и ровной линии на весь остаток месяца - манагеров напрягает такая стабильность :-)
Так вот, собственно, вопрос: как, не изменяя диапазон данных диаграммы вручную, отображать этот график только ПО текущий день? (день предполагается задать в отдельной ячейке в районе таблицы с данными, то есть формула вида ДЕНЬ() здесь не нужна, ибо на начало нового месяца нужно отразить полную картину предыдущего)
Хочу добиться того, чтоб на, скажем, 10-е число, было показано данных только из 10 строк, а на 11-е - из одинадцати, соответственно.
Прошу помочь разобраться - возможно ли задать формулу выбора диапазона данных для диаграммы (простой график), с зависимостью от времени исполнения
Есть таблица, в которой отражена динамика изменения некоего параметра (точнее, ежедневно вносятся данные об объёме продаж вчерашнего дня - не накопительно, а именно отгрузка вчерашнего дня). В начале месяца таблица обнуляется. Выходной день склада - воскресенье (строго воскресенье, и только оно, то есть Новый Год и прочие праздники - не рассматриваются)
На основании этой таблицы строится диаграмма, по Х отражены календарные дни месяца, по Y откладываются данные, точки соединяются. Данные берутся из столбца таблицы "Сумма" (там несколько групп товаров, каждый заполняется отдельно, а масса суммируется и идёт в диаграмму).
Проблема в том, что если ставить в воскресенье продажи = 0, то на графике офигительный провал. Та же проблема, если сейчас - начало месяца, то все дни до конца месяца равны нулю, и это тоже выглядит некрасиво.
Скрыть в исходной таблице воскресенья - нельзя.
Поставил простую формулу во избежание провалов по воскресеньям: ЕСЛИ(СУММ(...)=0;ЯчейкаВыше;СУММ(...)) - провалы исчезли, однако эта формула приводит к длинной и ровной линии на весь остаток месяца - манагеров напрягает такая стабильность :-)
Так вот, собственно, вопрос: как, не изменяя диапазон данных диаграммы вручную, отображать этот график только ПО текущий день? (день предполагается задать в отдельной ячейке в районе таблицы с данными, то есть формула вида ДЕНЬ() здесь не нужна, ибо на начало нового месяца нужно отразить полную картину предыдущего)
Хочу добиться того, чтоб на, скажем, 10-е число, было показано данных только из 10 строк, а на 11-е - из одинадцати, соответственно.
проблема решится сама собой если вместо простых диаграмм использовать сводные
-
- Сообщения: 153
- Зарегистрирован: 11 июл 2005, 13:42
- Откуда: Крым, Алушта
- Контактная информация:
Да нет, сводные не помогают. да и нечего там сводить.
Вообще изначально там и была сводная таблица и сводная диаграмма на её основании. Однако это было для манагеров высокого уровня, когда таблицы собирались с разных филиалов и соединялись в одну кучу.
Теперь на каждом филиале фирмы работу разделили, и требуется другая логика работы: данные накапливаются в разрезе по данному филиалу по общей цифре отгрузки (без деления на группы товаров). Отчёт составляется раз в неделю (к субботе), вот и хотелось бы, чтоб график шел только до этой позиции.
Вообще изначально там и была сводная таблица и сводная диаграмма на её основании. Однако это было для манагеров высокого уровня, когда таблицы собирались с разных филиалов и соединялись в одну кучу.
Теперь на каждом филиале фирмы работу разделили, и требуется другая логика работы: данные накапливаются в разрезе по данному филиалу по общей цифре отгрузки (без деления на группы товаров). Отчёт составляется раз в неделю (к субботе), вот и хотелось бы, чтоб график шел только до этой позиции.
Не совсем понял задачу,
может нарисуете что хотите?
Делал когда-то что-то следующее...

может нарисуете что хотите?
Делал когда-то что-то следующее...
- Вложения
-
- Проверка_часовых_расчетов_Тренд.zip
- (21.24 КБ) 92 скачивания
взгляни сюда, я думаю это будет полезным
- Вложения
-
- Диаграмма.zip
- (20.24 КБ) 62 скачивания
-
- Сообщения: 153
- Зарегистрирован: 11 июл 2005, 13:42
- Откуда: Крым, Алушта
- Контактная информация:
Avsha, спасибо за Ваше внимание, однако, пример не помог.
Diment, это действительно близко к теме, возможно, буду работать именно в этом направлении.
Вообще, хотелось без макросов. Дальше на примере Diment:
Таблица очень похожа, только в моей столбец "Подпись" содержит номера дней месяца (календарные - 1-31), а в столбце "Данные" сидит формула, суммирующая сведения по ещё нескольким столбцам (в соответствующей строке, естественно). При этом, формула содержит проверку на нулевую сумму, и в случае нуля возвращает сумму из строки выше (это предотвращает провал графика по воскресеньям).
То есть, если сегодня среда середины месяца, и было пара воскресений (когда продажи равны нулю по причине выходного), то график будет идти без резких провалов.
Далее, самое важное: в окрестностях таблицы нужна ячейка, в которую оператор (я и типа меня товарищи на филиалах) после заполнения данных за "вчерашний день" должны поставить число, соответствующее последней актуальной дате данных (например, сегодня 10-е число, занёс данные об отгрузках за 9-е число, ставлю в эту ячейку "9" - в результате график должен отображать данные только с 1-го по 9-е число). То есть, диапазон данных диаграммы должен смениться и составить в этой ситуации только 9 строк таблицы.
Прилагаю пример - как оно есть(выдрано из рабочей книги, хотя названия и параметры изменены).
На графике видна та самая линия "стабильности", которая так напрягает манагеров.
Чтоб её скрыть (не выводить на график незаполненные дни до конца месяца), нужно менять диапазон данных диаграммы, а в ручную - мне лень, а некоторые операторы и не могут :-) Вот и хочется присобачить автоматику.
Diment, это действительно близко к теме, возможно, буду работать именно в этом направлении.
Вообще, хотелось без макросов. Дальше на примере Diment:
Таблица очень похожа, только в моей столбец "Подпись" содержит номера дней месяца (календарные - 1-31), а в столбце "Данные" сидит формула, суммирующая сведения по ещё нескольким столбцам (в соответствующей строке, естественно). При этом, формула содержит проверку на нулевую сумму, и в случае нуля возвращает сумму из строки выше (это предотвращает провал графика по воскресеньям).
То есть, если сегодня среда середины месяца, и было пара воскресений (когда продажи равны нулю по причине выходного), то график будет идти без резких провалов.
Далее, самое важное: в окрестностях таблицы нужна ячейка, в которую оператор (я и типа меня товарищи на филиалах) после заполнения данных за "вчерашний день" должны поставить число, соответствующее последней актуальной дате данных (например, сегодня 10-е число, занёс данные об отгрузках за 9-е число, ставлю в эту ячейку "9" - в результате график должен отображать данные только с 1-го по 9-е число). То есть, диапазон данных диаграммы должен смениться и составить в этой ситуации только 9 строк таблицы.
Прилагаю пример - как оно есть(выдрано из рабочей книги, хотя названия и параметры изменены).
На графике видна та самая линия "стабильности", которая так напрягает манагеров.
Чтоб её скрыть (не выводить на график незаполненные дни до конца месяца), нужно менять диапазон данных диаграммы, а в ручную - мне лень, а некоторые операторы и не могут :-) Вот и хочется присобачить автоматику.
- Вложения
-
- Диаграмма_автомат.zip
- (3.61 КБ) 84 скачивания
Думаю, ваш вид диаграммы необходимо оставить таким какой есть, т.е. на все 31 день.
И дополнить несколькими линиями, которые соответствуют дням восресения и остатку месяца.
Их можно выделить другим цветом, типом и т.д.
По значению их можно протянуть по последнему "рабочему" значению
Таким образом в вашем графике будет присутствовать не одна линия, а 6 или 7,
- рабочая линия
- линия 1-го воскресения
- линия 2-го воскресения и т.д.
- линия остатка месяца.
И дополнить несколькими линиями, которые соответствуют дням восресения и остатку месяца.
Их можно выделить другим цветом, типом и т.д.
По значению их можно протянуть по последнему "рабочему" значению
Таким образом в вашем графике будет присутствовать не одна линия, а 6 или 7,
- рабочая линия
- линия 1-го воскресения
- линия 2-го воскресения и т.д.
- линия остатка месяца.
Не знаю решили вы проблему или нет.
Я когда-то столкнулся с аналогичной задачей. Посмотрите вложенный файл, может там есть решения, которые вам будут полезны.
Я его немного отредактировал, с учетом провалов по воскресеньям.
PS на листе total ключевая ячейка отчетная дата.
Я когда-то столкнулся с аналогичной задачей. Посмотрите вложенный файл, может там есть решения, которые вам будут полезны.
Я его немного отредактировал, с учетом провалов по воскресеньям.
PS на листе total ключевая ячейка отчетная дата.
- Вложения
-
- Продажи_ЦФО_02.07.zip
- (10.46 КБ) 82 скачивания
pc,
Хотел уточнить рациональное в вашем примере:
1. Когда значения ряда равны #Н/Д маркер на линии не ставится,
2. Управление количеством точек в диаграмме реализуется автомасштабированием оси X, лишние значения подписей оси Х для этого забиваются также значением - #Н/Д.
Верно?
Дионис,
Вот еще вариант, кусок рационального взял с примера Pc.
Добавил условное форматирование для наглядности.
Хотел уточнить рациональное в вашем примере:
1. Когда значения ряда равны #Н/Д маркер на линии не ставится,
2. Управление количеством точек в диаграмме реализуется автомасштабированием оси X, лишние значения подписей оси Х для этого забиваются также значением - #Н/Д.
Верно?
Дионис,
Вот еще вариант, кусок рационального взял с примера Pc.
Добавил условное форматирование для наглядности.
- Вложения
-
- Report_v7.zip
- (10.91 КБ) 93 скачивания