фонОпределить динамический диапазон для таблицы
Я считаю себя тихо, часто в ситуации, когда я хочу, чтобы определить динамический диапазон, охватывающий всю таблицу. Я хочу достаточно гибкости в том смысле, что, если я добавлю больше столбцов или строк или перемещу таблицу, диапазон должен быть обновлен.
Так что я в основном:
- Имя левой верхней ячейки таблицы (
start.table
говорят) Определить динамический диапазон таблицы следующим образом:
=OFFSET(start.table;0;0; COUNTA(INDIRECT( SUBSTITUTE(ADDRESS(ROW(start.table);1);"$1";"") & ":" & SUBSTITUTE(ADDRESS(ROW(start.table);1);"$1";""))); COUNTA(INDIRECT( SUBSTITUTE(ADDRESS(1;COLUMN(start.table));"$A";"") & ":" & SUBSTITUTE(ADDRESS(1;COLUMN(start.table));"$A";""))))
Пояснение
ADDRESS
дает мне строковое представление всего столбца/строки ячейкиstart.table
- Мне нужно
SUBSTITUTE
$1
и$A
части, чтобы получить только колонки или строки спецификатор соответственно - Тогда я могу
COUNTA
непустые ячейки в диапазонеINDIRECT
, как указано в строкеSUBSTITUTE
- При таком подходе таблица остается корректной, даже если я добавляю пустые строки до/после таблицы или добавляю столбцы или строки
Вопрос
Такой подход представляется вполне на массовое убийство, и я думал ли я не мог просто заменить всю конструкцию INDIRECT(...)
по $A:$A
и $1:$1
соответственно. Первый тест подтвердит, что он работает, но мне было интересно, не вижу ли здесь что-то здесь? Вы видите какие-то потенциальные проблемы с этим подходом?