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. Como resultado, poderá notar @'s appear in some formulas when opened in dynamic array Excel. It'que é importante ter em atenção que as suas fórmulas continuarão a calcular da mesma forma que sempre o fizeram.
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 matriz, remover o @ fará com que transborda para as células vizinhas.
Se remover um @ adicionado automaticamente e, posteriormente, abrir o livro numa versão mais antiga do Excel, este aparecerá como uma fórmula de matriz legada (moldada com chavetas {}), tal é feito para garantir que a versão mais antiga não 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 =A1:A10+@A1:A10 mista será consolidada. Se abrir mais tarde esta fórmula na matriz pré-dinâmica do Excel, será apresentada como =A1:A10+_xlfn.SINGLE(A1:A10) com as @'s na fórmula mista que aparecem como _xlfn.SINGLE(). Quando esta fórmula é avaliada pela matriz pré-dinâmica do Excel, irá devolver uma #NAME! como valor de erro.
Precisa de mais ajuda?
Pode sempre perguntar a um especialista na Comunidade Tecnológica do Excel ou obter suporte nas Comunidades.