A Microsoft introduziu o operador de interseção implícita como parte de uma atualização substancial da linguagem de fórmulas do Excel para dar 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 você as abre no Excel de matriz dinâmica. Suas fórmulas continuam 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 retornasse um único valor, a interseção implícita não fazia 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, devolva 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]. O @ indica que a fórmula usa 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 quando você remover o @.
- Se ela retornar um intervalo ou uma matriz, a remoção do @ causará o despejo 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 herdada (entre chaves {}). Esse comportamento garante que a versão mais antiga não dispare a interseção implícita.
Quando adicionaremos o @ às fórmulas antigas?
Geralmente, as funções que retornam intervalos ou matrizes de várias células terão um prefixo @ se você as criou em uma versão anterior do Excel. 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 retornam 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, pois a função SOMA espera intervalos ou matrizes. |
| =A1+A2 | =A1+A2 | Nenhuma alteração - nenhuma interseção implícita pode ocorrer. |
| =A1:A10 | =@A1:A10 | Ocorre uma interseção implícita e o Excel retorna 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 acontece, aciona a interseção implícita. |
| =MYUDF() | =@MYUDF() | Pode ocorrer interseção implícita. Criar funções personalizadas no Excel pode 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.
Esse comportamento 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. O Excel de matriz pré-dinâmica não dá suporte a essa combinação. O Excel de matriz pré-dinâmica só dá suporte a fórmulas que 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 propõe uma variação da fórmula que usa a interseção implícita por toda parte. Por exemplo, se você entrar, =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 mista 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 operadores @ na fórmula mista aparecendo como _xlfn.SINGLE(). Quando o Excel de matriz pré-dinâmica avalia esta fórmula, ele retorna um #NAME! valor de erro.
Precisa de mais ajuda?
Você sempre pode consultar um especialista na Excel Tech Community ou obter suporte nas Comunidades.