Quando você cria uma fórmula de matriz dinâmica no Excel, os resultados se espalham para as células adjacentes. Se essas células estiverem ocultas por um filtro, um grupo recolhido ou ocultação manual de linhas/colunas, a fórmula retorna um erro #SPILL!. Isso acontece porque o Excel não pode escrever os valores espalhados em células que não estão visíveis na tela. Este artigo explica por que células ocultas bloqueiam o espalhamento e fornece métodos passo a passo para corrigir o erro.
Principais conclusões: Desbloqueie matrizes espalhadas em células ocultas
- Exiba as linhas ou colunas ocultas: Revelar as células bloqueadas permite que a matriz se espalhe corretamente e remove o erro
#SPILL!. - Selecione um intervalo de espalhamento que evite áreas ocultas: Mova a fórmula para um local onde todo o intervalo de espalhamento esteja visível.
- Use o operador @ para forçar o comportamento de resultado único: Converte a matriz dinâmica em uma fórmula de célula única que não requer espalhamento.
Por que células ocultas bloqueiam o espalhamento de matrizes dinâmicas
As fórmulas de matriz dinâmica no Excel, introduzidas em 2020, retornam automaticamente vários resultados que se “espalham” para as células adjacentes. A fórmula é escrita em uma célula e o Excel preenche as células vizinhas com a matriz de saída. Para que isso funcione, todas as células no intervalo de espalhamento devem estar vazias e visíveis.
Quando uma célula no intervalo de espalhamento está oculta devido a filtragem, agrupamento ou ocultação manual, o Excel não pode escrever o resultado ali. O mecanismo de fórmula trata as células ocultas como bloqueadas e retorna o erro #SPILL!. A mensagem de erro diz “O intervalo de espalhamento não está vazio” ou “O intervalo de espalhamento está oculto”, dependendo da versão do Excel. A causa raiz é sempre a mesma: o Excel não pode colocar dados em uma célula que não está sendo exibida no momento.
Esse comportamento é proposital. O Excel impede a escrita em células ocultas para evitar que dados sejam sobrescritos sem que o usuário perceba. Assim que as linhas ou colunas ocultas são exibidas, a matriz se espalha normalmente. A correção é tornar essas células visíveis ou modificar a fórmula para que ela não precise se espalhar para a área oculta.
Métodos para corrigir erros de espalhamento causados por células ocultas
Escolha um dos seguintes métodos, dependendo se você deseja manter os dados ocultos ou mover a fórmula. Cada método resolve o erro #SPILL!.
Método 1: Exiba as linhas ou colunas no intervalo de espalhamento
A correção mais simples é tornar todas as células no intervalo de espalhamento visíveis. Siga estas etapas:
- Identifique o intervalo de espalhamento
Clique na célula com a fórmula de matriz dinâmica. O Excel desenha uma borda azul ao redor do intervalo de espalhamento pretendido. Anote as referências de linha e coluna desse intervalo. - Exiba linhas
Selecione as linhas acima e abaixo das linhas ocultas no intervalo de espalhamento. Clique com o botão direito em qualquer número de linha selecionado e escolha Exibir no menu de contexto. Repita para todos os blocos de linhas ocultas dentro do intervalo de espalhamento. - Exiba colunas
Selecione as colunas à esquerda e à direita das colunas ocultas no intervalo de espalhamento. Clique com o botão direito em uma letra de coluna selecionada e escolha Exibir. - Remova filtros
Se o intervalo de espalhamento estiver dentro de uma tabela ou intervalo filtrado, limpe o filtro. Vá para a guia Dados e clique em Limpar no grupo Classificar e Filtrar. Alternativamente, pressione Ctrl+Shift+L para desativar o filtro. - Expanda grupos recolhidos
Se linhas ou colunas estiverem agrupadas, clique no botão + acima do grupo para expandi-lo. Você também pode ir para a guia Dados e clicar em Desagrupar no grupo Estrutura de tópicos para remover o agrupamento completamente. - Verifique se o erro #SPILL! desapareceu
Após exibir todas as células, a fórmula recalcula e mostra a matriz completa.
Método 2: Mova a fórmula para um local sem células ocultas
Se você precisar manter certas linhas ou colunas ocultas, mova a fórmula para uma parte da planilha onde todo o intervalo de espalhamento esteja visível.
- Selecione uma nova célula para a fórmula
Escolha uma célula onde o intervalo de espalhamento não se sobreponha a nenhuma linha ou coluna oculta. Para verificar, exiba temporariamente todas as linhas e colunas, anote o intervalo de espalhamento pretendido e oculte novamente apenas as áreas que ficam fora do novo intervalo de espalhamento. - Copie a fórmula
Pressione Ctrl+C na célula com o erro. Em seguida, pressione Escape para sair do modo de cópia. - Cole na nova célula
Selecione a nova célula e pressione Ctrl+V. A fórmula recalcula. Se o novo intervalo de espalhamento não tiver células ocultas, o erro desaparece. - Exclua a fórmula original
Selecione a célula original e pressione Delete para remover a fórmula que ainda mostra o erro.
Método 3: Use o operador @ para retornar um único valor
Se você precisar apenas de um resultado da fórmula de matriz, o operador de interseção implícita (@) força a fórmula a retornar um único valor em vez de espalhar. Este método altera o comportamento da fórmula, portanto, use-o apenas quando não precisar da matriz completa de resultados.
- Edite a fórmula
Clique na célula com o erro#SPILL!e pressione F2 para entrar no modo de edição. - Adicione o operador @
Coloque o cursor imediatamente após o sinal de igual e digite@. Por exemplo, altere=SORT(A1:A10)para=@SORT(A1:A10). - Pressione Enter
A fórmula agora retorna apenas o primeiro valor da matriz. O intervalo de espalhamento não é mais necessário, então o erro desaparece. - Verifique o resultado
Confira se o valor retornado corresponde ao único resultado esperado. Se você precisar da matriz completa, não use este método.
Se o erro de espalhamento persistir após exibir
O intervalo de espalhamento ainda mostra #SPILL! após exibir todas as células
Se você exibiu todas as linhas, colunas, limpou filtros e expandiu grupos, mas o erro permanece, uma das células no intervalo de espalhamento pode conter dados ou ser uma célula mesclada. Selecione todo o intervalo de espalhamento clicando na célula com a fórmula e pressionando Ctrl+Shift+Seta para Direita e Ctrl+Shift+Seta para Baixo. Procure por qualquer célula que não esteja vazia. Limpe o conteúdo dessas células selecionando-as e pressionando Delete. Verifique também se há células mescladas no intervalo de espalhamento. Selecione o intervalo de espalhamento, vá para a guia Página Inicial, clique em Mesclar e Centralizar e escolha Desmesclar Células.
O erro retorna após reaplicar um filtro
Se você limpar um filtro para corrigir o erro e depois reaplicar o filtro, o intervalo de espalhamento pode ficar oculto novamente. Para evitar isso, mova a fórmula para uma linha fora do intervalo filtrado. Por exemplo, se seus dados estão nas linhas 1 a 100 e você filtra por uma coluna, coloque a fórmula de matriz dinâmica na linha 102 ou abaixo. O intervalo de espalhamento ocupará linhas que não são afetadas pelo filtro.
O erro ocorre apenas em uma versão específica do Excel
As matrizes dinâmicas estão disponíveis no Excel para Microsoft 365, Excel 2021 e Excel 2024. Versões mais antigas, como Excel 2019 ou anteriores, não suportam matrizes dinâmicas. Se você abrir uma pasta de trabalho contendo fórmulas de matriz dinâmica em uma versão mais antiga, o Excel pode convertê-las em matrizes estáticas ou mostrar erros. Para verificar sua versão, vá em Arquivo > Conta > Sobre o Excel. Se você estiver usando uma versão não suportada, atualize para o Microsoft 365 ou Excel 2024 para usar matrizes dinâmicas sem problemas.
Exibir vs Mover Fórmula vs Operador @: Principais diferenças
| Item | Exibir Células | Mover Fórmula | Operador @ |
|---|---|---|---|
| Efeito nos dados | Revela linhas ou colunas ocultas | Mantém linhas ou colunas ocultas inalteradas | Retorna um único valor em vez de uma matriz |
| Intervalo de espalhamento necessário | Sim, matriz completa se espalha | Sim, mas em um novo local | Não, nenhum intervalo de espalhamento necessário |
| Melhor para | Você pode exibir as células | Você precisa manter alguns dados ocultos | Você precisa apenas de um resultado da fórmula |
| Alteração na fórmula | Nenhuma | Nenhuma, apenas o local muda | Adiciona @ antes do nome da função |
Agora você pode resolver erros #SPILL! causados por células ocultas em suas fórmulas de matriz dinâmica. Comece verificando se o intervalo de espalhamento contém linhas, colunas ou dados filtrados ocultos. Se exibir não for uma opção, mova a fórmula para uma área livre. Para saídas de valor único, use o operador @. Para evitar erros futuros, coloque fórmulas de matriz dinâmica em áreas da planilha que nunca são ocultadas ou filtradas.