O operador de interseção implícita foi introduzido como parte de uma atualização substancial da linguagem de fórmulas do Excel para oferecer suporte a matrizes dinâmicas. As matrizes dinâmicas trazem novas capacidades e funcionalidades de cálculo significativas para o Excel.
Linguagem de Fórmula Atualizada
A linguagem de fórmula atualizada do Excel é quase idêntica à linguagem antiga, exceto que usa o operador @ para indicar onde a interseção implícita poderia ocorrer, enquanto a linguagem antiga fazia isso silenciosamente. Como resultado, você pode perceber que @s aparecem em algumas fórmulas quando abertos no Excel de matriz dinâmica. É importante observar que suas fórmulas continuarão a calcular da mesma maneira que sempre fizeram.
O que é Interseção Implícita?
A lógica de interseção implícita reduz muitos valores a um único valor. O Excel fez isso para forçar uma fórmula a retornar um único valor, já que uma célula só poderia conter um único valor. Se sua fórmula estava retornando um único valor, a interseção implícita não fez nada (mesmo que tecnicamente estivesse sendo feita em tela de fundo). A lógica funciona da seguinte maneira:
-
Se o valor for um único item, retorne o item.
-
Se o valor for um intervalo, retorne o valor da célula na mesma linha ou coluna da fórmula.
-
Se o valor for uma matriz, escolha o valor superior esquerdo.
Com o advento de matrizes dinâmicas, o Excel não está mais limitado a retornar valores únicos de fórmulas, portanto, a interseção implícita silenciosa não é mais necessária. Onde uma fórmula antiga poderia disparar invisivelmente a interseção implícita, o Excel habilitado para matriz dinâmica mostra onde isso teria ocorrido com @.
Por que o símbolo @?
O símbolo @ já é usado nas referências de tabela para indicar uma interseção implícita. Considere a seguinte fórmula em uma tabela =[@Column1]. Aqui o sinal @ indica que a fórmula deve usar uma interseção implícita para recuperar o valor na mesma linha de [Coluna1].
Você pode remover o @?
Geralmente, você pode. Depende do que a parte da fórmula à direita do @ retorna:
-
Se ela retornar um único valor (o caso mais comum), não haverá alteração removendo o @.
-
Se ele retornar um intervalo ou matriz, a remoção de @ fará com que ele despeje para as células vizinhas.
Se você remover um @ adicionado automaticamente e depois abrir a pasta de trabalho em uma versão mais antiga do Excel, ela aparecerá como uma fórmula de matriz legada (entre colchetes {}), isso é feito para garantir que a versão mais antiga não acione a interseção implícita.
Quando adicionaremos o @ às fórmulas antigas?
De um modo geral, as funções que retornam intervalos ou matrizes de várias células serão prefixadas com @ se forem criadas em uma versão anterior do Excel. É importante notar que não há alteração na forma como sua fórmula se comporta - você pode apenas ver a interseção implícita anteriormente invisível agora. Funções comuns que podem retornar intervalos de várias células incluem INDEX, OFFSET e Funções Definidas pelo Usuário (UDFs). Uma exceção comum é quando eles são envolvidos em uma função que aceita uma matriz ou intervalo (por exemplo, SOMA() ou MÉDIA()).
Confira Funções do Excel que retornam intervalos ou matrizes para obter mais detalhes.
Exemplos
Fórmula original |
Como visto no Excel de matriz dinâmica |
Explicação |
---|---|---|
=SOMA(A1:A10) |
=SOMA(A1:A10) |
Nenhuma alteração - Nenhuma interseção implícita pode ocorrer, como a função SOMA espera intervalos ou matrizes. |
=A1+A2 |
=A1+A2 |
Nenhuma alteração - não pode ocorrer interseção implícita. |
=A1:A10 |
=@A1:A10 |
Ocorrerá uma interseção implícita e o Excel retornará o valor associado à linha em que a fórmula está. |
=ÍNDICE(A1:A10,B1) |
=ÍNDICE(A1:A10,B1) |
Pode ocorrer interseção implícita. A função ÍNDICE pode retornar uma matriz ou intervalo quando seu segundo ou terceiro argumento for 0. |
=DESLOCAMENTO(A1:A2,1,1) |
=DESLOCAMENTO(A1:A2,1,1) |
Pode ocorrer interseção implícita. A função DESLOCAMENTO pode retornar um intervalo de várias células. Quando isso acontecer, a interseção implícita será acionada. |
=MYUDF() |
=@MYUDF() |
Pode ocorrer interseção implícita. Funções Definidas pelo Usuário podem retornar matrizes. Quando o fazem, a fórmula original aciona a interseção implícita. |
Usando o operador @ em novas fórmulas
Se você criar ou editar uma fórmula no Excel de matriz dinâmica que contém o operador @, ela pode aparecer como _xlfn.SINGLE() no Excel de matriz pré-dinâmica.
Isso ocorre quando você comete uma fórmula mista. Uma fórmula mista é uma fórmula que depende tanto do cálculo da matriz quanto da interseção implícita; isso não era compatível com a matriz pré-dinâmica do Excel. Matriz pré-dinâmica suportava apenas fórmulas que faziam i) interseção implícita ou ii) cálculo de matriz por completo.
Quando a matriz dinâmica habilitada, o Excel detecta a criação de uma "fórmula mista", ele irá propor uma variação da fórmula que faz a interseção implícita por toda parte. Por exemplo, se você inserir =A1:A10+@A1:A10, verá a seguinte caixa de diálogo:
Se você optou por rejeitar a fórmula proposta pela caixa de diálogo, a fórmula mista = A1:A10+@A1:A10 será confirmada. Se posteriormente você abrir esta fórmula no Excel de matriz pré-dinâmica, ela aparecerá como =A1:A10+_xlfn.SINGLE(A1:A10) com os @ na fórmula mista aparecendo como _xlfn.SINGLE(). Quando esta fórmula é avaliada pelo Excel de matriz pré-dinâmica, ela retornará um #NOME! valor de erro.
Precisa de mais ajuda?
Você pode sempre consultar um especialista na Excel Tech Community ou obter suporte nas Comunidades.