Несколько вещей:
вещь первая: вы используете относительные ссылки на ячейки в названной формуле. Это означает, что где бы ни находилась активная ячейка, именованная формула будет пересчитываться на основе текущей ячейки. B4
изменится на любую ячейку в зависимости от текущей ячейки. Используйте абсолютные ссылки, такие как $B$4
, если вы хотите привязать определенную ячейку в качестве базовой ссылки.
Второе. Косвенное сложное вложение функций, раскрывающих строку и / или столбец, может быть заменено более эффективной формулой индекса.
Вероятно, это одна вещь, которая вызывает ваши проблемы, потому что результат формулы будет меняться в зависимости от выбранной ячейки.
Редактировать после проверки рабочей книги
Проблема, безусловно, в относительных ссылках на ячейки, и их абсолютное решение определенно решает проблему. Ваша формула была определена с активной ячейкой в B10, и это
=Sheet1!B1:INDIRECT(ADDRESS(1,Sheet1!D10,4))
Но когда активная ячейка находится в A1, например, формула меняется на
=Sheet1!A1048568:INDIRECT(ADDRESS(1,Sheet1!C1,4))
Каждый раз, когда вы нажимаете на ячейку, именованная формула пересчитывается в зависимости от положения текущей ячейки. Вот почему вам нужны абсолютные ссылки. Вы можете исправить свою формулу до
=Sheet1!$B$1:INDIRECT(ADDRESS(1,Sheet1!$D$10,4))
Или вы можете использовать Index вместо Indirect следующим образом:
=Sheet1!$B$1:INDEX(Sheet1!$1:$1,Sheet1!$D$10)
Или вы можете использовать простую функцию смещения
=OFFSET(Sheet1!$B$1,0,0,1,Sheet1!$D$10-1)
Какую бы формулу вы ни предпочли, она всегда даст правильный диапазон, независимо от того, какая ячейка является активной ячейкой.
Если у вас есть диапазон дат, вы можете использовать простое смещение диапазона дат, чтобы получить диапазоны серий.
Смещение на одну строку для Open, смещение на две строки для High и т. Д.
=OFFSET(Date,1,0)
На снимке экрана показана формула даты с функцией смещения, и вы можете увидеть формулы, используемые для имен Open, High, Low и AdjClose. На графике показаны серии Open и AdjClose. Обратите внимание, как марширующие муравьи выделяют текущий экстент именованного диапазона. Имя даты всегда будет ссылаться на диапазон, начинающийся с B1, потому что эта ячейка привязана к абсолютной ссылке.
Если у вас есть какие-либо вопросы по этому поводу, пишите.