1

У меня есть рабочая тетрадь с несколькими листами, и в некоторых таблицах я разработал запрос / ссылку на строку в одной из таблиц.

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

Я попытался выяснить, как ссылаться на отдельный лист в формуле, но не могу заставить его работать. Текущая ссылка: ='B&A'!P41 где B&A - это имя листа, а P41 - ссылка на ячейку.

Итак, вот два вопроса:

  1. Решит ли НЕПОСРЕДСТВЕННО мою проблему, когда я добавлю новую строку в B&A?
  2. Если да, то каков правильный синтаксис для функции INDIRECT?

2 ответа2

0

Если вам нужно добавить НОВЫЕ строки / ячейки / столбцы в ссылочный лист, вы должны создать способ, чтобы ссылочные формулы могли это распознать.

Я бы создал ячейку в ссылочном листе для ссылки на таблицу / массив в виде текста
- например, $A1:$B200 в именованной ячейке, например, table_ref -
которые затем могут быть выбраны и разыменованы (из других листов) с помощью дополнительного INDIRECT (), как в INDIRECT( INDIRECT(table_ref) )

При создании содержимого table_ref вам, возможно, придется использовать CELLS() , COUNTIF() , SUBTOTAL() , OFFSET() , ROWS() или аналогичные функции, а также объединить результаты нескольких из них - я полагаю, что есть еще несколько похожие функции, которые я не могу вспомнить сейчас.

0

Да, INDIRECT будет принудительно использовать его всегда, глядя на одну и ту же ячейку, независимо от того, добавляются / удаляются другие ячейки.

INDIRECT принимает строку, которую затем использует в качестве адреса ячейки. Таким образом, ваша текущая формула:

='B&A'!P41

станет

=INDIRECT("'B&A'!P41")

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

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