Excel — использование формулы, введенной как текст в другую ячейку

Excel — использование формулы, введенной как текст в другую ячейку

(Изначально я опубликовал это на Stack Overflow, но мне сказали, что это более подходящий форум.)

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

Я работаю над таблицей с большим количеством вычислений по различным группам ячеек. Допустим, данные находятся в A1:A10.

Вместо того, чтобы вводить этот диапазон в каждую формулу:

=среднее(a1:a10) =минимум(a1:a10) =стоткл.с(a1:a10) ...и так далее...

Я бы предпочел ввести этот диапазон как текст в ячейку (например, T1) и сделать так, чтобы различные функции ссылались на него:

=среднее(используйте диапазон, введенный в T1, для расчета) ...и так далее...

Я думал, что функция ДВССЫЛ будет ответом, но мне не удалось заставить ее работать.

Мне бы очень хотелось сделать это с помощью собственных функций Excel (не VBA, макросов или чего-то в этом роде).

Спасибо!

решение1

Функция ДВССЫЛ действительно то, что вам нужно. Если вы сохраните "a1:a10" (без кавычек) в ячейке T1, вы можете использовать:

=Average(Indirect(T1))

чтобы получить среднее значение в диапазоне A1:A10.

Если вы хотите сослаться на диапазон на другом листе, вам нужно указать имя листа как часть адреса. Так, если вы хотите сослаться на A1:A10 на рабочем листе с именем OtherSheet, вы должны сохранить "OtherSheet!A1:A10" в ячейке T1.

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

Связанный контент