titulo.jpg

Home

Principal

Assinar

 

Dicas

Excel

Word

Outlook

Office/VBA

Suplementos

Vídeos

Outros

Busque neste site:

Loading
 

INDIRETO

Introdução

Aplicação da Função INDIRETO

Sintaxe da Função INDIRETO

Fazendo Referência a uma Outra Planilha Usando INDIRETO

Fazendo Referência a uma Planilha de Outra Pasta de Trabalho usando INDIRETO

Fazendo Referência a um NOME

Transpor um Intervalo Dinamicamente

Referências

 

Introdução

A função INDIRETO retorna o valor de uma referência especificada numa seqüência de caracteres. Caso a seqüência seja uma referência inválida, #REF! será retornado.

Considere a tabela abaixo:


Observe que, ao digitar o valor da fórmula =B2 em C4, a referência B2 fica na cor azul. Isso acontece porque Excel reconhece B2 como uma referência. Entretanto, se em C6 for digitada a fórmula =INDIRETO("B2"), a referência B2 permanecerá na cor preta, como pode-se ver abaixo:

Note que nesse caso, B2 é uma cadeia de caracteres (string), já que está entre aspas. Logo, para o Excel, B2 é um texto. O resultado de ambas as fórmulas (=B2 e =INDIRETO("B2")) é, corretamente, o valor de B2: 8.

Suponha agora que tenha-se inserido uma linha antes da linha 1. Com isso, o Excel atualizará as fórmulas automaticamente, tendo-se a tabela abaixo:

Observe que C5 (que ocupava o endereço C4 antes de se inserir a linha) refere-se agora a B3, uma vez que o Excel reconheceu que houve inserção de uma linha e tratou de incrementar uma linha na referência automaticamente. Vale ressaltar que isso aconteceria mesmo se C5 estivesse em referência absoluta (para saber mais sobre referências relativas e absolutas, clique aqui). Por outro lado, C7 (que ocupava o endereço C6 antes de se inserir a linha) continua se referindo a B2, já que o Excel não enxerga a string B2 como uma referência de Excel, ou seja, o engine do Excel não atualiza B2 para esse caso porque para ele, B2 não é uma referência, e sim uma cadeia de caracteres.

 

Aplicação da Função INDIRETO

O poder da função INDIRETO consiste no fato dela transformar uma string concatenada ou que se refira a uma outra célula em uma referência.

Por exemplo, se entrarmos em D2 a fórmula

=SOMA(B1:B10) ,

poderíamos obter o mesmo resultado de outra forma utilizando a função INDIRETO. Considere que A1=1 e A2=10. Poderíamos escrever, para obter o mesmo resultado,

=SOMA(INDIRETO("B" & A1 & ":B" & A2))

A tabela abaixo ilustra esse exemplo:

Nesse caso, a string montada "B" & A1 & ":B" & A2 equivale a B1:B10 e então INDIRETO se encarrega de passar o argumento em forma de referência à SOMA. Logo, com INDIRETO, você pode personalizar suas referências!

 

Sintaxe da Função INDIRETO

INDIRETO possui dois argumentos: o primeiro, obrigatório e o segundo, opcional:

INDIRETO(referência;estilo_de_referência_A1) ,

referência: É a string que é convertida para referência.

estilo_de_referência_A1: Tipo lógico opcional cujo valor padrão é VERDADEIRO. Define qual tipo de referência está especificada: Se for VERDADEIRO, o estilo de referência interpretado será A1. Se for FALSO, o estilo de referência interpretado será L1C1.

Para o caso de estilo_de_referência_A1=VERDADEIRO, tem-se o exemplo apresentado no tópico anterior. Para o caso em que o parâmetro é FALSO, considere a tabela abaixo:

Pretendo futuramente explicar as diferenças entre os estilos de referência A1 e L1C1.

 

Fazendo Referência a Uma Outra Planilha Usando INDIRETO

Para fazer referência a uma outra planilha, podemos escrever, por exemplo,

='Plan1'!A1

É possível usar INDIRETO também para se fazer referências a outras planilhas. Considere as tabelas abaixo, que representam duas planilhas de uma mesma Pasta de Trabalho:

Observe a Planilha Relatório. Ela possui fórmulas que buscam valores da Planilha Resultados. A fórmula =INDIRETO("'Resultados'!C2") equivale a ='Resultados'!C2, e seu resultado é conhecido: Empresa.

Estruturando-se um pouco mais a fórmula, para termos o mesmo resultado, podemos escrever =INDIRETO("'" & A2 & "'!" & B2), já que A2=Resultados e B2=A1. Ou seja, com essa construção de INDIRETO, busca-se na Planilha Resultados a Referência A1. Logo, as fórmulas das colunas C, D e E são equivalentes e retornam o mesmo resultado, em F.

 

Fazendo Referência a Uma Planilha de Outra Pasta de Trabalho Usando INDIRETO

A função >A função INDIRETO também pode fazer referência a uma outra Pasta de Trabalho, e a condição para tla é que a Pasta de Trabalho de referência esteja aberta. Caso contrário, a fórmula retorna #REF!.

Para fazer uma referência a outra Pasta de Trabalho normalmente, escrevemos, por exemplo:

='[Balanço 2009.xls]Resultados'!$D$2

Podemos aproveitar a idéia do tópico anterior e expandir seu escopo. Vamos supor que deseja-se buscar dados das Pastas de Trabalho Balanço 2008.xlsx, Balanço 2009.xlsx e Balanço 2010.xlsx. Dessa forma, podemos montar a tabela abaixo:

O ponto mais importante de se usar a fórmula INDIRETO com referência a uma outra Pasta de Trabalho é sua sintaxe. Observe a posição em que os colchetes e aspas situam na fórmula.

 

Fazendo Referência a um NOME

Suponha que estamos trabalhando na tabela abaixo e a mesma possua um possua um NOME que chama Bimestre1 e é definido pelo endereço B2:B4, Bimestre2 definido por C3:C4, Bimestre3 definido por D3:D4 e Bimestre4 definido por E3:E4:

Se escrevermos numa planilha a fórmula

=SOMA(Bimestre1) ,

obteremos como resultado a soma dos elementos de Bimestre1, ou seja, 243. Podemos usar INDIRETO se desejarmos fazer algo mais sofisticado, como exemplificado na tabela abaixo:

Observe a fórmula em L2:

=SOMA(INDIRETO(K2))

INDIRETO reconhece Bimestre1 como um NOME e passa o argumento corretamente à SOMA, retornando o resultado correto: 243.

 

Transpor um Intervalo Dinamicamente

Uma forma de se usar INDIRETO é combiná-la com a função ENDEREÇO. Sua forma é:

=INDIRETO(ENDEREÇO(linha;coluna))

A fórmula retorna o valor da célula presente em endereço. No entanto, para aumentar mais ainda a flexibilidade dessas funções, costumo usar as funções LIN e COL dentro delas. Veja, por exemplo, como transpor uma matriz por fórmulas, sem usar a opção de Colar Especial:

A fórmula presente em H9 é:

=INDIRETO(ENDEREÇO(COL(C9)+LIN($C$9)-COL($C$9);LIN(C9)-LIN($C$9)+COL($C$9)))

Observe as referências absolutas em C9. Os fatores +LIN($C$9)-COL($C$9) e -LIN($C$9)+COL($C$9) são para ajuste da tabela montada dinamicamente.

 

Referências

Chip Pearson: http://www.cpearson.com/excel/indirect.htm

Debra Dalgleish: http://www.contextures.com/xlFunctions05.html

Clique aqui para baixar uma Pasta de Trabalho com todos exemplos desta página.

 

---

Site de Felipe Costa Gualberto.

Belo Horizonte, Brasil, 2009-2013.

felipe@ambienteoffice.com.br