|
|
|
Вопрос к Deggasad про именованные диапазоны при построении диаграммы.
|
|||
|---|---|---|---|
|
#18+
Вот тут была тема ... А можно ли теперь добавить, кроме списка отбора по месяцам, еще и список отбора по годам? Моего умения хватило только на создание самого поля "Год" с выпадающим списком. А как его учитывать в выражениях не знаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2007, 15:57:32 |
|
||
|
Вопрос к Deggasad про именованные диапазоны при построении диаграммы.
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2007, 21:23:28 |
|
||
|
Вопрос к Deggasad про именованные диапазоны при построении диаграммы.
|
|||
|---|---|---|---|
|
#18+
Deggasad Это я для примера. может пригодится Что - то родить я сейчас не в состоянии, поэтому взял один из своих графиков. А так вообще не по ссылки не увидел вопроса, там просто мне что-то нужно никто не подскажет как мне это сделать: Извините, но сделать что? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2007, 21:32:52 |
|
||
|
Вопрос к Deggasad про именованные диапазоны при построении диаграммы.
|
|||
|---|---|---|---|
|
#18+
Я дал ссылку на ветку в соседнем форуме, где Вы мне показали как использовать именованные диапазоны при построении диаграммы, и где я привел процедуру, которая в итоге у меня получилась (сообщение за 2 июл 07, 12:10). Вот в ней я и пытаюсь добавить отбор еще и по годам. Как я понял, все сводится к изменению выражений MinRow, которая сейчас такая: Код: plaintext 1. Код: plaintext 1. А теперь надо обыграть еще 2 ситуации: "выбран конкретный год" и "выбраны все года". Пытался в приведенные выражения вложить еще ЕСЛИ...ЕСЛИ - запутался, плюнул... Создал, по аналогии с MinRow и MaxRow, еще 2 параметра MinRowYear и MaxRowYear, но теперь проблема с тем, как их использовать в именованных диапазонах. Сейчас, например, один из диапазонов выглядит так: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2007, 14:06:41 |
|
||
|
Вопрос к Deggasad про именованные диапазоны при построении диаграммы.
|
|||
|---|---|---|---|
|
#18+
Понимаете! Это для вас в памяти свежо - что и как мы там делали и где это там искать. А я про это ничего не помню. Если хотите чтобы я вам помог, так пожалейте моё (а в результате и своё время). Выложите файл с тем что уже есть, а также с какими-то намётками на то что должно получиться. Тока не подумайте что я пытаюсь грубить, но я правда не телепат, а читать 4 страницы форума по ссылке..... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2007, 14:50:47 |
|
||
|
Вопрос к Deggasad про именованные диапазоны при построении диаграммы.
|
|||
|---|---|---|---|
|
#18+
Продолжаю пытаться с вложенными ЕСЛИ. Вот такая конструкция хотя бы правильная: Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2007, 14:51:07 |
|
||
|
Вопрос к Deggasad про именованные диапазоны при построении диаграммы.
|
|||
|---|---|---|---|
|
#18+
Там не надо 4 страницы читать... Вот Ваше сообщение: DeggasadСначала нашёл минимальную строку. Если всё, то 3. Если месяц то минимальная строка в которой встречается месяц MinRow =ЕСЛИ(Лист1!$F$1="Все";3;МИН(ЕСЛИ((Лист1!$D$1:$D$4985=Лист1!$F$1);СТРОКА(Лист1!$D$1:$D$4985)))) Потом нашёл максимальную строку. Если все, то последняя заполненная строка. Если месяц то максимальная строка в которой встреяается месяц MaxRow =ЕСЛИ(Лист1!$F$1="Все";ПОИСКПОЗ("яяяяя";Лист1!$D$1:$D$5000);МАКС(ЕСЛИ((Лист1!$D$1:$D$5000=Лист1!$F$1);СТРОКА(Лист1!$D$1:$D$5000)))) А потом присваиваю трём именованным диапазонам значение в зависимости от значений MinRow и MaxRow. Промежут =ИНДЕКС(Лист1!$A$1:$A$4985;MinRow):ИНДЕКС(Лист1!$A$1:$A$4985;MaxRow) общий =ИНДЕКС(Лист1!$B$1:$B$4985;MinRow):ИНДЕКС(Лист1!$B$1:$B$4985;MaxRow) Дата =ИНДЕКС(Лист1!$C$1:$C$4985;MinRow):ИНДЕКС(Лист1!$C$1:$C$4985;MaxRow)а это кусок моего кода: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. Общий алгоритм своих попыток я описал в предыдущем посте. Я "верной дорогой" иду? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2007, 15:10:03 |
|
||
|
Вопрос к Deggasad про именованные диапазоны при построении диаграммы.
|
|||
|---|---|---|---|
|
#18+
Ну хорошо ну хотя бы структуру исходных данных с которыми вы работаете можно увидеть (файл Эксель имеется ввиду после выгрузки). И ещё бы чтобы были имена эти уже забиты. И чтобы там уже было видно как год выбирать будем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2007, 15:16:10 |
|
||
|
Вопрос к Deggasad про именованные диапазоны при построении диаграммы.
|
|||
|---|---|---|---|
|
#18+
Выкладываю. Только в исх.таблице поле Year пока пустое ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2007, 15:47:30 |
|
||
|
Вопрос к Deggasad про именованные диапазоны при построении диаграммы.
|
|||
|---|---|---|---|
|
#18+
Сегодня вечером обязательно посмотрю, пока некогда было, там за 5 мин не разберёшься ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2007, 10:56:55 |
|
||
|
Вопрос к Deggasad про именованные диапазоны при построении диаграммы.
|
|||
|---|---|---|---|
|
#18+
Попробовал сам сделать. 1. Кто-ж знал, что общая длина ссылки ограничена... 2. Пришлось разбивать выражение на несколько: MinRowMonthNotOll (минимальная строка, если указан конкретный месяц): =МИН(ЕСЛИ((table!$G$1:$G$4999=Прогноз!$A$4);СТРОКА(table!$G$1:$G$4999))) MinRowYearNotOll (минимальная строка, если указан конкретный год): =МИН(ЕСЛИ((table!$F$1:$F$4999=Прогноз!$A$3);СТРОКА(table!$F$1:$F$4999))) MinRowYearMonthNotOll (минимальная строка, если указаны и год, и месяц): =МИН(ЕСЛИ(И(table!$F$1:$F$4999=Прогноз!$A$3;table!$G$1:$G$4999=Прогноз!$A$4);ИНДЕКС(СТРОКА(table!$F$1:$F$4999);СТРОКА(table!$G$1:$G$4999)))) MinRowYearMonth(общее выражение минимальной строки): =ЕСЛИ(И(Прогноз!$A$3="Все";Прогноз!$A$4="Все");3;ЕСЛИ(И(Прогноз!$A$3="Все";Прогноз!$A$4<>"Все");MinRowMonthNotOll;ЕСЛИ(И(Прогноз!$A$3<>"Все";Прогноз!$A$4="Все");MinRowYearNotOll;ЕСЛИ(И(Прогноз!$A$3<>"Все";Прогноз!$A$4<>"Все");MinRowYearMonthNotOll)))) MP (максимальная строка, если не указан ни конкретный месяц, ни год): =ПОИСКПОЗ("яяяяя";table!$F$1:$F$4999) MaxRMNO (максимальная строка, если указан конкретный месяц): =МАКС(ЕСЛИ((table!$G$1:$G$4999=Прогноз!$A$4);СТРОКА(table!$G$1:$G$4999))) MaxRYNO (максимальная строка, если указан конкретный год): =МАКС(ЕСЛИ((table!$F$1:$F$4999=Прогноз!$A$3);СТРОКА(table!$F$1:$F$4999))) MaxRYMNO (максимальная строка, если указаны и год, и месяц): =МАКС(ЕСЛИ(И(table!$F$1:$F$4999=Прогноз!$A$3;table!$G$1:$G$4999=Прогноз!$A$4);ИНДЕКС(СТРОКА(table!$F$1:$F$4999);СТРОКА(table!$G$1:$G$4999)))) MaxRowYearMonth(общее выражение максимальной строки): =ЕСЛИ(И(Прогноз!$A$3="Все";Прогноз!$A$4="Все");MP;ЕСЛИ(И(Прогноз!$A$3="Все";Прогноз!$A$4<>"Все");MaxRMNO;ЕСЛИ(И(Прогноз!$A$3<>"Все";Прогноз!$A$4="Все");MaxRYNO;ЕСЛИ(И(Прогноз!$A$3<>"Все";Прогноз!$A$4<>"Все");MaxRYMNO)))) В результате получилась какая-то хрень(но ведь получилась, все-таки!) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2007, 11:25:23 |
|
||
|
Вопрос к Deggasad про именованные диапазоны при построении диаграммы.
|
|||
|---|---|---|---|
|
#18+
Извини, что не выложил, времени всё нет, сегодня вечером свой вариант скину. Дома у меня лежит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2007, 12:53:47 |
|
||
|
Вопрос к Deggasad про именованные диапазоны при построении диаграммы.
|
|||
|---|---|---|---|
|
#18+
А мои попытки, хоть какой-то здравый смысл в них есть или полная хня? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2007, 12:55:55 |
|
||
|
Вопрос к Deggasad про именованные диапазоны при построении диаграммы.
|
|||
|---|---|---|---|
|
#18+
Извини, но нет времени смотреть, то что ты выложил. Только и смог что свой вариант по быстрому набросать, ведь обещал. Так как тебе нужнее, то пожалуй тебе и сопоставлять. Что точно считаю нужным сделать, так это избавиться от дополнительных столбцов, т.к. есть возможность обоётись без них, а оставить только дату. Удачи, пиши если что. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2007, 01:44:29 |
|
||
|
Вопрос к Deggasad про именованные диапазоны при построении диаграммы.
|
|||
|---|---|---|---|
|
#18+
(С грустной завистью) Да, у тебя все проще получилось... Вот только при выборе Год = "Все", в списке Месяц тоже только "Все" можно выбрать. И посмотреть графики за, например, январь по обоим годам не получится... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2007, 18:36:56 |
|
||
|
Вопрос к Deggasad про именованные диапазоны при построении диаграммы.
|
|||
|---|---|---|---|
|
#18+
Очень нужноВот только при выборе Год = "Все", в списке Месяц тоже только "Все" можно выбрать. И посмотреть графики за, например, январь по обоим годам не получится... Сделано специально, т.к. из конкретной задачи даты идут друг за другом и построить график из двух несвязных диапазонов не получится. Если всё же нужно, то есть 2 пути: - использовать в файле макросы (что накладывает ряд ограничений). Самый простой пример использования макросов это наверное фильтровать исходный диапазон расширенным фильтром в зависимости от выбранной ячейки. - всё таки не использовать макросы, а формулами пересортировывать диапазон с выбором только требуемых ячеек. Впринципе тоже ничего сложного я делал неоднократно, но размер файла и время выполнения увеличиваются. Если нужно будет пиши попробуем примерчик состряпать, просто сначала подумай насколько нужно смореть январь за есколько лет, а то файл то придётся усложнить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2007, 09:00:07 |
|
||
|
Вопрос к Deggasad про именованные диапазоны при построении диаграммы.
|
|||
|---|---|---|---|
|
#18+
Начинаю разбираться с кодом... Вопрос 1: Можно ли сотворить выражение возвращающее в поле Прогноз!$A$2 список месяцев, которые встречаются в выбранном в поле Прогноз!$A$1 годе. Т.е. если в таблице данные за 2007 год начинаются с марта, а за 2008 год заканчиваются июнем, то при выборе 2007 - список месяцев ограничен март-декабрь, при 2008 - январь-июнь? Сейчас перечень месяцев храниться в диапазоне ячеек и всегда постоянен. И при выборе конкретного года и месяца, на который нет данных, - вываливается ошибка. Вопрос 2: Если список месяцев будет содержать перечень названий, то летит выражение MONTH... Функции типа МЕСЯЦИМЯ(МЕСЯЦНОМЕР) или обратной ведь в Excel нет? Дело в том, что в исходном варианте выражение MONTH возвращало порядковый номер месяца (равный номеру позиции названия), а после переделки MONTH возвращает название месяца, блин! DeggasadЧто точно считаю нужным сделать, так это избавиться от дополнительных столбцов,Ой,чой-то я чувствую, что теперь придется добавлять столбец Месяц в исходную таблицу, и создавать еще выражени MonthRng, чтоб заменить выражение МЕСЯЦ(DataRng)=MONTH (в MinRow и MaxRow) на MonthRng=MONTH ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2007, 18:30:39 |
|
||
|
Вопрос к Deggasad про именованные диапазоны при построении диаграммы.
|
|||
|---|---|---|---|
|
#18+
Очень нужноМожно ли сотворить выражение возвращающее в поле Прогноз!$A$2 список месяцевПросто попробовал: Создал выражение ASD = ИНДЕКС(table!$F:$F;3):ИНДЕКС(table!$F:$F;40) и указал его как источник списка (Данные-Проверка) для поля Прогноз!$A$2. Поле F таблицы содержит название месяцев, взял первые 40 записей (от балды)...получил список, где первая 31 строка содержит Январь, остальные - Февраль. Функция типа ИСКЛЮЧИТЬПОВТОРЫ ( ~группировка) в Exel есть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2007, 19:00:05 |
|
||
|
Вопрос к Deggasad про именованные диапазоны при построении диаграммы.
|
|||
|---|---|---|---|
|
#18+
Так и не найдя в Excel функций типа МЕСЯЦИМЯ(МЕСЯЦНОМЕР) и ИСКЛЮЧИТЬПОВТОРЫ, пошел другим путем: 1. Вернул в основную таблицу столбец Month 2. Создал дополнительный диапазон (столбцы I и J), в котором содержатся месяцы по годам из основной таблицы (это из Access заполняется, используя группировку исключающую повторы) 3. Создал еще выражение MonthRng. Теперь выпадающий список ячейки Прогноз!$A$2 содержит перечень месяцев только встречающихся в выбранном году в ячейке Прогноз!$A$1. Одна неувязка: если выбрать в 2007 году месяц (например, Сентябрь), которого нет в 2008, то при переходе на 2008 год поле Прогноз!$A$2 по прежнему содержит значение Сентябрь(хотя в списке этого месяца нет) и возникает ошибка "про 32000 точек". Подскажи, как это убрать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2007, 11:53:16 |
|
||
|
Вопрос к Deggasad про именованные диапазоны при построении диаграммы.
|
|||
|---|---|---|---|
|
#18+
Очень нужно Подскажи, как это убрать? Месяц не сменить никак без макросов, можно просто в формулах указать что ничего не показывать если месяц не найден, а также большими красными буквами выводить надпись не забудте сменить месяц. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2007, 01:09:34 |
|
||
|
Вопрос к Deggasad про именованные диапазоны при построении диаграммы.
|
|||
|---|---|---|---|
|
#18+
Deggasadможно просто в формулах указать...хм, может кому и "просто"... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2007, 11:34:12 |
|
||
|
Вопрос к Deggasad про именованные диапазоны при построении диаграммы.
|
|||
|---|---|---|---|
|
#18+
какое-то навязчевое чувство ответственности (неплохо будет направить его в нужное русло). жертвовать собственным сном, но всё же продолжить тему (всю неделю некогда было) Посидел, покумекал и исправил некоторые недочёты, а также учёл основные пожелания. Смотрите файл! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2007, 01:23:40 |
|
||
|
|

start [/forum/topic.php?fid=61&msg=34945535&tid=2181825]: |
0ms |
get settings: |
6ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
42ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
| others: | 197ms |
| total: | 313ms |

| 0 / 0 |
