Как я могу расширить динамический диапазон пробелами между ячейками? - PullRequest
1 голос
/ 13 апреля 2019

Я хочу определить динамический диапазон, который будет расширять строки и столбцы моего диапазона всякий раз, когда вставляется новая строка или столбец. Моя текущая формула не хочет расширяться до ячейки $T$13. Мои заголовки начинаются в строке $M$7. Как я могу настроить мою формулу?

Используемая формула

=OFFSET(Sheet1!$M$8,0,0,COUNTA(Sheet1!$M:$M),COUNTA(Sheet1!$1:$1))

Мне нужно, чтобы мой диапазон расширился до клетки $T$13

enter image description here

Ответы [ 2 ]

2 голосов
/ 13 апреля 2019

В данный момент ваша формула считает количество текстовых значений в столбце М.

Это не надежный подход, поскольку столбец M содержит только пять текстовых значений, а столбцы S и T имеют гораздо больше значений.

Если вы не знаете, в каком столбце может быть наибольшее количество записей, вы можете ввести вспомогательную ячейку в каждом столбце, который подсчитывает количество записей ниже. Я предлагаю вам вставить новую строку 2. Например, в столбце M укажите формулу в M2

.
=counta($M$3:M$99999)

Скопируйте эту формулу в столбец T.

Далее вы можете оценить, какой из столбцов имеет наибольшее число

=max(M2:T2)

Это можно включить в исходную формулу, например:

=OFFSET(Sheet1!$M$8,0,0,max(M2:T2),COUNTA(Sheet1!$1:$1))

Так что теперь, вместо того, чтобы просто смотреть, сколько строк в столбце M, формула использует максимальное количество строк в столбцах M - S.

Теперь вы можете скрыть строку 2, если она нарушает дизайн вашего рабочего листа.

Редактировать: простое число текстовых значений с помощью CountA игнорирует пустые ячейки и возвращает неправильные результаты. Вам действительно нужна формула, чтобы найти номер строки последней заполненной ячейки в каждом столбце.

Это действительно новый вопрос, но здесь идет

Если столбец имеет числовые значения, вы можете использовать

=MATCH(99^99,B5:B999,1)

Если в столбце есть текстовые значения, вы можете использовать

=MATCH("zzz",C5:C999,1)

Настройте диапазоны соответственно.

0 голосов
/ 15 апреля 2019

Я использовал решение, упомянутое @tevlyn.

В диапазоне $M2:$T2

У меня есть следующая формула =IFERROR(MATCH(99^99,M$8:M$999,1),0).

Я добавил IFERROR, потому что мои данные не всегда растягиваются до $T2.

Затем я определил свой диапазон в менеджере имен, используя:

=OFFSET(Sheet3!$M$8,0,0,MAX(Sheet3!$M$2:$T$2),COUNTA(Sheet3!$1:$1))

Это все еще работает, даже если между диапазонами есть пробелы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...