Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.07.2010, 17:58   #11
O_H
Пользователь
 
Регистрация: 06.07.2010
Сообщений: 68
По умолчанию

Почти:
=ЕСЛИ(Лист2!$F$1="Все";данные;ЕСЛИ (МЕСЯЦ(DataRng)=МЕСЯЦ(1&Лист2!$F$1& 1);данные;НД()))
O_H вне форума Ответить с цитированием
Старый 29.07.2010, 20:08   #12
O_H
Пользователь
 
Регистрация: 06.07.2010
Сообщений: 68
По умолчанию

Ещё вопрос: сейчас диапазон дат охватывает один год, если добавить ещё год и ничего не переделывать(т.е. формула DataRng по прежнему будет ссылаться на весь диапазон дат), то график зрительно сжимается влево.
Т.е., надо как-то изменить рассчёт DataRng, чтобы, в зависимости от выбранного года, DataRng возвращала диапазон только за этот год?
O_H вне форума Ответить с цитированием
Старый 30.07.2010, 15:07   #13
O_H
Пользователь
 
Регистрация: 06.07.2010
Сообщений: 68
По умолчанию

По-моему, я перемудрил с количеством именованных формул. Приведу их тут:
(столбец B - данные, столбец D - даты)
ось категорий (просто числа)
Категория=Лист2!$A$2:$A$366
весь диапазон дат:
DataRng=ИНДЕКС(Лист2!$D:$D;2):ИНДЕК С(Лист2!$D:$D;ПОИСКПОЗ(9E+307;Лист2 !$D:$D))
далее, только для одного графика:
список выбора месяца
Month1=Лист2!$F$1
список выбора года
Year1=Лист2!$F$2
состояние обоих списков(тут что-то ещё про список месяцев надо добавить)
СостСписков1=(Year1=ГОД(DataRng))
номер строки начала диапазона графика
DataMin1=ЕСЛИ(МИН(ЕСЛИ(СостСписков1 ;СТРОКА(DataRng)))=0;1;МИН(ЕСЛИ(Сос тСписков1;СТРОКА(DataRng))))
номер строки конца диапазона графика
DataMax1=ЕСЛИ(МАКС(ЕСЛИ(СостСписков 1;СТРОКА(DataRng)))=0;1;МАКС(ЕСЛИ(С остСписков1;СТРОКА(DataRng))))
диапазон дат графика
DataRng1=ИНДЕКС(Лист2!$D$1:$D$5000; DataMin1):ИНДЕКС(Лист2!$D$1:$D$5000 ;DataMax1)
диапазон данных графика
Данные1=ИНДЕКС(Лист2!$B$1:$B$5000;D ataMin1):ИНДЕКС(Лист2!$B$1:$B$5000; DataMax1)
сам график
график1=ЕСЛИ(Month1="Все";Данные1;Е СЛИ(МЕСЯЦ(DataRng1) =МЕСЯЦ(1&Month1&1); Данные1;НД()))
-----------------------------------------------
а можно как-то заставить ось категорий изменяться в зависимости от выбора в обоих списках месяцев, т.е., если выбраны конкретные месяцы, то 365 делений у оси - явно перебор.
Попробовал создать формулу для оси Х:
КатегорияПроба=СМЕЩ(Лист2!$A$2;0;0; МАКС(1;СЧЁТ(график1);СЧЁТ(график2)) ;1)
работает криво: график прижимается к левому краю.
Вложения
Тип файла: rar Книга369.rar (24.8 Кб, 5 просмотров)
O_H вне форума Ответить с цитированием
Старый 02.08.2010, 13:11   #14
O_H
Пользователь
 
Регистрация: 06.07.2010
Сообщений: 68
По умолчанию

Продолжаю ...
Попытался заставить ось категорий изменяться в зависимости от выбора выводимых диапазонов.
В файле - две диаграммы.
Первая: ось категорий по прежнему выводит дни. Если в обоих списках выбрать конкретные месяцы, ось ведёт себя нормально. Если в 2009 году(данные за все 365 дней) выбрать "Все месяцы", а в 2010 - конкретный месяц, тоже всё нормально. Но, если выбрать "Все" в 2010 (данные только за 212 дней), а в 2009 указать конкретный месяц, то шкала оси сдвигается влево. Почему?
Вторая диаграмма: каждый ряд имеет свою ось Х, оси выводят даты.
Почему-то ось для ряда конкретного месяца выводит даты в числовом формате, если изменить на "Все", то даты выводятся нормально.
И ещё: при выборе в обеих списках "Все месяцы" на верхнем графике всё правильно(один график короче), а на нижнем - графики одинаковы по ширине. Исправить можно?
Вложения
Тип файла: rar Книга369.rar (25.9 Кб, 8 просмотров)
O_H вне форума Ответить с цитированием
Старый 03.08.2010, 13:07   #15
O_H
Пользователь
 
Регистрация: 06.07.2010
Сообщений: 68
По умолчанию

зо8 просмотров...
O_H вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
С самого начала. krokusfs Помощь студентам 1 31.05.2010 20:42
Вывести только одну категорию вместо списка категорий goofman PHP 3 18.05.2010 18:34
установка подписей горизонтальной оси (категорий) диаграммы в Excel i-cpp Общие вопросы C/C++ 0 13.05.2010 21:03
Начала GiganT Компоненты Delphi 3 17.06.2008 17:13