The INDIRECT function doesn't help because it takes a string as input, not a range. Ideally, I could put a range in cell X123, ...
Acho que você está confuso sobre o que está colocando em X123
. Aqui você entrará, como texto, o endereço de um intervalo. O conteúdo da célula é uma string, não um intervalo.
Você passará essa string para a função INDIRECT()
por meio de uma referência de intervalo. =INDIRECT(X123)
retornará o conteúdo do X123.
EDITAR:
Seu comentário me fez perceber que você provavelmente queria algo diferente. Acho que o que você está procurando é uma maneira de usar uma referência de célula indireta como uma referência relativa, ou seja, você quer poder usar a referência indireta para se referir a uma coisa quando usada na A1, mas para se referir a outra coisa coluna over) quando usado em B1. Você pode fazer isso com uma combinação de INDIRECT
, OFFSET
, ROW
e COLUMN
.
Por exemplo, A2:A11
contém um conjunto de dados, assim como B2:B11
. Em D1
você tem o endereço "A2: A11" armazenado como texto.
Portanto, se você quiser encontrar a média de cada conjunto de dados usando a referência indireta em D1
, use a seguinte fórmula de preenchimento (em D6
neste exemplo):
=AVERAGE(OFFSET(INDIRECT($D$1),ROW()-ROW($D$6),COLUMN()-COLUMN($D$6)))
Preenchendo essa fórmula, uma célula à direita ( E6
) fornecerá a média de B2:B11
. A chave para essa fórmula é que você a ancora em um ponto de referência fixo, $D$6
neste exemplo. Em D6
, a referência indireta não será compensada. A referência indireta será compensada pelo mesmo número de células (up / down e left / right) que você está deslocado de D6
.