Você pode usar OFFSET()
para criar uma referência a um intervalo X-a-Y de colunas, por exemplo:
=OFFSET(A1,0,0,10,10)
criará uma referência de 10 por 10 que se refere a A1:J10
.
Você pode substituir os 10s codificados na fórmula acima por COUNTIF()
, que infere quantas linhas e colunas o intervalo deve se referir.
Para evitar um erro de circularidade, você pode tentar definir um Intervalo Nomeado ( Alt M M D ) com esta fórmula e usando o intervalo nomeado onde quer que você use a fórmula.
Alternativamente, você pode criar uma string de texto com a referência X-by-Y usando OFFSET()
sem os parâmetros width e height (ou seja, os 10s da fórmula acima) e, em vez disso, encontrando a primeira e última célula em um alcance. Em seguida, envolva-os em uma chamada CELL("address",...)
que retornará seu endereço. (NB: Se o seu ponto de partida é $ A $ 1 você só precisa encontrar a célula final).
Concatene-os com um :
entre eles e envolva tudo em torno de um INDIRECT()
onde quer que você precise usá-lo. Em suma, supondo uma inicialização codificada em $A$1
:
=INDIRECT("Sheet1!$A$1:"&CELL("address",OFFSET(Sheet1!$A$1,COUNTIF(..x-rows..),COUNTIF(..y-cols..))
COUNTIF()
logic para encontrar o número de linhas e colunas restantes como um exercício para o leitor