O operador de interseção implícita foi introduzido como parte da atualização significativa 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. Por esse motivo, poderá reparar que o @ é apresentado em algumas fórmulas de matrizes dinâmicas do Excel. É importante salientar que as suas fórmulas continuarão sempre 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, então, devolver o item.
-
Se o valor for um intervalo, então, devolver o valor da célula na mesma linha ou coluna da fórmula.
-
Se o valor for uma matriz, então, selecionar 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]. Aqui, o @ indica que a fórmula deve utilizar a 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 haverá alterações ao remover o @.
-
Se devolver um intervalo ou uma matriz, remover o @ fará com que transponhapara 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 herdada (com chavetas {}), isto é feito para garantir que a versão mais antiga não irá acionar a interseção implícita.
Quando se adiciona o @ às fórmulas antigas?
De uma forma geral, as funções que devolvem intervalos ou matrizes de várias células serão antecedidas com @ se tiverem sido criadas numa versão anterior do Excel. É importante ter em atenção que não existe nenhuma 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 podem devolver 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 irá ocorrer e o Excel irá devolver 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. Ao fazê-lo, a interseção implícita seria acionada. |
|
=MYUDF() |
=@MYUDF() |
Pode ocorrer interseção implícita. As Funções Definidas pelo Utilizador podem devolver matrizes. Ao fazê-lo, a fórmula original teria acionado 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.
Isto ocorre quando confirma uma fórmula mista. Uma fórmula mista é uma fórmula que se refere a cálculos de matriz e interseção implícita, isto não é suportado pela matriz pré-dinâmica do Excel. A matriz pré-dinâmica suportava apenas fórmulas com 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", irá propor sempre uma variação da fórmula com interseção implícita completa. Por exemplo, se introduzir =A1:A10+@A1:A10, verá a seguinte caixa de diálogo:
Se optar por rejeitar a fórmula proposta pela caixa de diálogo, a fórmula mista =A1:A10+@A1:A10 será confirmada. Se, mais tarde, abrir esta fórmula na matriz dinâmica do Excel, esta será apresentada como =A1:A10+_xlfn.SINGLE(A1:A10) com o @ na fórmula mista a aparecer como _xlfn.SINGLE(). Quando esta fórmula é avaliada pela matriz pré-dinâmica do Excel, irá devolver 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.