Rampage_Masta
@Rampage_Masta

Динамический график в Excel?

Имеется строка со значениями, диапазон от a1 до a8, эти значения задают график. В ячейках a6, a7, a8 в зависимости от ситуации значения могут принимать #ЗНАЧ! либо просто числа


Реализовать нужно следующее:

1. Если в ячейках присутствуют все значения то график задаётся диапазоном a1:a8

2. Если в ячейках a6, a7, a8 значение #ЗНАЧ! (алгоритм таков что если в a6 #ЗНАЧ!, то и в последующих тоже), то график задаётся диапазоном a1:a5


Собственно подскажите формулы
  • Вопрос задан
  • 5691 просмотр
Решения вопроса 1
Laplace
@Laplace
Руководствовался вот этим

У меня Excel 2007 английский.

Итоговый документ здесь.

По шагам:

1) Надо сочинить формулу для определения диапазона ячеек. Мне было лень её продумывать, я использовал просто «количество непустых среди A1:A8, но она не будет работать, например, для A1:A6 непустые, A7 = #VALUE!, A8 непустая. Если возникнут сложности с этой формулой — сделаю, это несложно.

У меня формула получилась такая =OFFSET(Sheet1!$A$1;0;0;COUNT(Sheet1!$A$1:$A$8);1)
комментарии: OFFSET изменяет заданный диапазон (в данном случае одну ячейку $A$1), смещая её левый верхний угол на 0 строк/столбцов (т.е. не смещая) и изменяя её высоту до некоторого числа, а ширину до 1 столбца. Новая высота определяется вот этой частью формулы COUNT(Sheet1!$A$1:$A$8), т.е. количество непустых ячеек в диапазоне $A$1:$A$8. По условию надо более длинную, с IF-ами.

Комментарии:
— здесь и далее $A$1 то же что и A1, только координаты абсолютные, т.е. если вставить строку столбец, останутся те ми же и будут ссылаться уже на другие данные. Можно вместо них относительные — это просто A1, они будут изменяться при добавлении/удалении строк/столбцов.
— в интернетах пишут примеры формул для OFFSET с запятыми, разделяющими аргументы, у меня так не получилось, но получилось с точками с запятой. Наверное зависит от локали.
— работоспособность формулы можно проверить вставив ее в любую ячейку и окружив её, например SUM, т.е. =SUM(OFFSET($A$1;0;0;COUNT($A$1:$A$8);1))

2) Надо как-то назвать этот динамический диапазон. Это делает команда Formulas — Define Name. Там Name — какой угодно, например MyName, а значение — формула из пункта 1.

3) Надо графу задать ='Sheet1'!MyName в качетсве горизонтального диапазона. Я делал так: Graph — Select Data — Legend Entries (Series) — Add — Series Values =Book1!MyName (имя любое).
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы