Невозможно использовать INDIRECT в именованном диапазоне, используемом диаграммой Excel - PullRequest
0 голосов
/ 09 сентября 2018

Я настраиваю несколько диаграмм, предназначенных для динамического выбора последних строк в наборе данных или количества доступных строк, если оно меньше. У меня это настроено и работает, но я хочу, чтобы на всех графиках использовался диапазон (динамический размер) для значений оси категорий, и у меня возникают проблемы с этим.

Если у меня есть категории в столбце A и значения в столбце B, а также именованное значение 'chtLen, то, скажем,' values ​​'- это динамически именованный диапазон, определенный как =OFFSET(Sheet1!$B$1,COUNT(Sheet1!$B:$B),0,-MIN(chtLen,COUNT(Sheet1!$B:$B)),1)

Тогда просто создать значение «категории» как =OFFSET(values,0,-1)

Диаграмма Excel примет =Book1.xlsx!categories в качестве диапазона значений оси категории, и все работает. Но если я хочу, чтобы всегда использовал столбец A и захватывал диапазон в этом столбце, то есть я хочу изменить категории на =OFFSET(INDIRECT(ADDRESS(MIN(ROW(Book1.xlsx!values)),1)),0,0,COUNT(Book1.xlsx!values),1)

Находясь в редакторе именованных значений, оба эти параметра будут правильно выбирать один и тот же диапазон. Но когда я пытаюсь изменить «категории» на последнюю формулу, ось категорий исчезает с графика. Попытка изменить или добавить =Book1.xlsx!categories к диаграмме с таким определением приводит к тому, что «Excel обнаружил проблему ... проверьте правильность ссылок на ячейки, имен диапазонов, определенных имен и ссылок на другие книги в ваших формулах».

Единственное, что я думаю Я изменяюсь, это то, как я достигаю диапазон. Чего мне не хватает?

1 Ответ

0 голосов
/ 11 сентября 2018

Я хотел убедиться, что я поделился решением, которое я получил, чтобы работать.Вместо того, чтобы полагаться на функции ADDRESS / INDIRECT, я просто сделал простую алгебру.Это некрасиво и включает отдельные ошибки, которые необходимо исправить, но это работает, независимо от длины набора данных:

=offset($A$1, ROW(values)+ROWS(values)-2, 0, -ROWS(values), 1)

То есть, если я знаю, я всегда хочу рисоватьмои значения категории из столбца A, это будет вычислять, сколько строк вниз от вершины столбца категории будет моей последней точкой данных, и сместится вниз на это расстояние, затем сместит 0 строк, а затем сделает длину такой же длины, как набор данных, возвращаясь вверх, и в результате получается один столбец шириной.Не красиво, но это работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...