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 notar @'s appear in some formulas when opened in dynamic array Excel. It'que é importante observar que suas fórmulas continuarão a calcular da mesma maneira que sempre calcularam.
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 do @ fará com que ele derrame para as células vizinhas.
Se você remover um @ adicionado automaticamente e abrir a pasta de trabalho em uma versão mais antiga do Excel, ela aparecerá como uma fórmula de matriz herdada (encapsulada com chaves ), 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ê optar por rejeitar a fórmula proposta pela caixa de diálogo, a fórmula =A1:A10+@A1:A10 misturada será confirmada. Se você abrir essa fórmula mais tarde na matriz pré-dinâmica excel, ela aparecerá como =A1:A10+_xlfn.SINGLE(A1:A10) com os @'s na fórmula misturada que aparecem como _xlfn.SINGLE(). Quando essa fórmula for avaliada pela matriz pré-dinâmica Excel, ela retornará uma #NAME! valor de erro.
Precisa de mais ajuda?
Você sempre pode pedir a um especialista na Comunidade Tecnológica do Excel ou obter suporte em Comunidades.