Operador de interseção implícita: @

Aplica-se A
Excel para Microsoft 365 Excel para Microsoft 365 para Mac Excel 2024 Excel 2021

A Microsoft introduziu o operador de interseção implícita como parte de uma atualização substancial para a linguagem de fórmulas do Excel para suportar matrizes dinâmicas. As matrizes dinâmicas trazem novas capacidades e funcionalidades de cálculo significativas para o Excel.

Linguagem de fórmulas atualizada

A linguagem de fórmulas atualizada do Excel é quase idêntica à linguagem antiga, com a exceção de que utiliza o operador @ para indicar onde a interseção implícita pode ocorrer, enquanto a linguagem antiga o fazia silenciosamente. Como resultado, poderá reparar que o @ é apresentado em algumas fórmulas ao abri-las em matrizes dinâmicas do Excel. As suas fórmulas continuam a ser calculadas da mesma forma.  

O que é a interseção implícita?

A lógica de interseção implícita reduz muitos valores a um único valor. O Excel fez isto para forçar uma fórmula a devolver um único valor, uma vez que uma célula só podia conter um único valor. Se a sua fórmula devolver um único valor, a interseção implícita não fez nada (apesar de estar em execução em segundo plano). O processo funciona da seguinte forma:

  • Se o valor for um único item, devolva o item.
  • Se o valor for um intervalo, devolver o valor da célula na mesma linha ou coluna da fórmula.
  • Se o valor for uma matriz, selecione o valor no canto superior esquerdo.

Com o surgimento de matrizes dinâmicas, o Excel já não se limita a devolver valores únicos de fórmulas, por isso, a interseção implícita não é necessária. Onde uma fórmula antiga pode acionar de forma invisível uma interseção implícita, o Excel com matriz dinâmica ativada mostra o local em que teria ocorrido com @.  

Porquê o símbolo @?

O símbolo @ já está a ser utilizado em referências de tabela para indicar interseção implícita. Considere a seguinte fórmula numa tabela =[@Column1]. O @ indica que a fórmula utiliza interseção implícita para obter o valor na mesma linha de [Column1].  

Pode remover o @?

Muitas vezes pode fazê-lo. Depende do que a parte da fórmula à direita do @ devolve:

  • Se devolver um único valor (o caso mais comum), não existe nenhuma alteração quando remover o @.
  • Se devolver um intervalo ou uma matriz, remover o @ fará com que o mesmo seja transposto para as células vizinhas.

Se remover um @ adicionado automaticamente e abrir o livro numa versão anterior do Excel, este será apresentado como uma fórmula de matriz legada (com chavetas {}). Este comportamento garante que a versão mais antiga não aciona interseção implícita.

Quando se adiciona o @ às fórmulas antigas?

Geralmente, as funções que devolvem intervalos ou matrizes de várias células têm um prefixo @, caso tenha sido criadas numa versão anterior do Excel. Não existe qualquer alteração na forma como a sua fórmula se comporta – pode ver agora a interseção implícita anteriormente invisível. As funções comuns que devolvem intervalos com várias células incluem ÍNDICE, DESFASAMENTO e Funções Definidas pelo Utilizador (UDFs). Uma exceção comum é se estiverem moldados numa função que aceita uma matriz ou intervalo (por exemplo, SOMA() ou MÉDIA()). 

Consulte funções do Excel que devolvem intervalos ou matrizes para obter mais detalhes.

Exemplos

Fórmula original Como visto em matriz dinâmica do Excel Explicação
=SUM(A1:A10) =SUM(A1:A10) Sem alteração - Não pode ocorrer interseção implícita, uma vez que a função SOMA espera intervalos ou matrizes.
=A1+A2 =A1+A2 Sem alteração - Não pode ocorrer interseção implícita.
=A1:A10 =@A1:A10 A interseção implícita ocorre e o Excel devolve o valor associado à linha em que a fórmula se encontra.
=INDEX(A1:A10,B1) =@INDEX(A1:A10,B1) Pode ocorrer interseção implícita. A função ÍNDICE pode devolver uma matriz ou intervalo quando o segundo ou terceiro argumento for 0.
=OFFSET(A1:A2,1,1) =@OFFSET(A1:A2,1,1) Pode ocorrer interseção implícita. A função DESFASAMENTO pode devolver um intervalo com várias células. Quando isso acontece, aciona interseção implícita.
=MYUDF() =@MYUDF() Pode ocorrer interseção implícita. Criar funções personalizadas no Excel pode devolver matrizes. Ao fazê-lo, a fórmula original aciona a interseção implícita.

Utilizar o operador @ em novas fórmulas

Se criar ou editar uma fórmula em matriz dinâmica do Excel que contenha o operador @, esta poderá ser apresentada como _xlfn. SINGLE() na matriz pré-dinâmica do Excel.

Este comportamento ocorre quando confirma uma fórmula mista. Uma fórmula mista é uma fórmula que se baseia em cálculos de matriz e interseção implícita. Matriz pré-dinâmica O Excel não suporta esta combinação. Matriz pré-dinâmica O Excel só suporta fórmulas que i) interseção implícita ou ii) cálculo de matriz completo.

Quando o Excel com matriz dinâmica ativada deteta a criação de uma fórmula mista, propõe uma variação da fórmula que utiliza interseção implícita em todos os elementos. Por exemplo, se introduzir =A1:A10+@A1:A10, , verá a seguinte caixa de diálogo:

Captura de ecrã que mostra uma caixa de diálogo a perguntar se prefere antes a fórmula = @A1:A10 + @A1:A10.

Se optar por rejeitar a fórmula proposta pela caixa de diálogo, a fórmula =A1:A10+@A1:A10 mista é confirmada. Se, mais tarde, abrir esta fórmula na matriz dinâmica do Excel, esta aparece =A1:A10+_xlfn.SINGLE(A1:A10) como com os operadores @ na fórmula mista que aparecem como _xlfn.SINGLE(). Quando a matriz pré-dinâmica do Excel avalia esta fórmula, devolve um #NAME! como valor de erro. 

Precisa de mais ajuda?

Pode sempre colocar uma pergunta a um especialista da Comunidade Tecnológica do Excel ou obter suporte nas Comunidades.

Consulte Também

Função FILTRAR

Função MATRIZALEATÓRIA

Função SEQUÊNCIA

Função ORDENAR

Função ORDENARPOR

Função EXCLUSIVOS

Erros de #TRANSPOSIÇÃO! no Excel

Matrizes dinâmicas e comportamento de matrizes transpostas