2

У меня есть электронная таблица, которая содержит около 16 уравнений, которые используют диапазоны.

Я хочу иметь возможность копировать данные и уравнения для нескольких прогонов данных. При разных прогонах данных диапазоны разные.

Вместо того, чтобы редактировать диапазоны в 16 уравнениях, я хотел бы поместить диапазон в одну ячейку, которая используется всеми уравнениями. Тогда я могу просто отредактировать диапазон один раз.

Именованные диапазоны не очень помогают, потому что, когда я копирую набор уравнений, также копируются и именованные диапазоны, и мне приходится редактировать все 16 из них для разных диапазонов, а также создавать новые именованные диапазоны для каждого экземпляра данных.

Функция INDIRECT не помогает, потому что она принимает строку как ввод, а не диапазон.

В идеале я мог бы поместить диапазон в ячейку X123 и отредактировать его, используя обычные методы спецификации диапазона. В моих уравнениях я бы просто добавил = Средний (!Х123), если! был магическим косвенным оператором, и уравнение предоставило бы среднее число ячеек в диапазоне, содержащемся в X123.

Есть ли хороший способ сделать это?

1 ответ1

2

Функция INDIRECT не помогает, потому что она принимает строку как ввод, а не диапазон. В идеале я мог бы поместить диапазон в ячейку X123, ...

Я думаю, вы не понимаете, что вкладываете в X123 . Здесь вы введете, как текст, адрес диапазона. Содержимое ячейки - это строка, а не диапазон.

Вы передадите эту строку в функцию INDIRECT() посредством ссылки на диапазон. =INDIRECT(X123) вернет содержимое X123.

РЕДАКТИРОВАТЬ:

Ваш комментарий заставил меня понять, что вы, вероятно, хотели чего-то другого. Я думаю, что вы ищете способ использовать косвенную ссылку на ячейку в качестве относительной ссылки, то есть вы хотите иметь возможность использовать косвенную ссылку для ссылки на одну вещь при использовании в A1, но для ссылки на что-то еще (один столбец над) при использовании в B1. Вы можете сделать это с помощью комбинации INDIRECT , OFFSET , ROW и COLUMN .

Например, A2:A11 содержит набор данных, как и B2:B11 . В D1 вас есть адрес "A2:A11", сохраненный в виде текста.

снимок экрана с образцами данных

Поэтому, если вы хотите найти среднее значение для каждого набора данных, используя косвенную ссылку в D1 , вы можете использовать следующую формулу заполнения (в этом примере в D6 ):

=AVERAGE(OFFSET(INDIRECT($D$1),ROW()-ROW($D$6),COLUMN()-COLUMN($D$6)))

Заполнение этой формулы на одну ячейку справа (E6) даст вам среднее значение B2:B11 . Ключом к этой формуле является то, что вы привязываете ее к фиксированной точке отсчета, $D$6 в этом примере. В D6 косвенное задание вообще не будет смещено. Косвенная ссылка будет смещена на то же количество ячеек (вверх / вниз и влево / вправо), на которое вы смещены относительно D6 .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .