#DESPEJAR! (#SPILL! em inglês; a tabela mostra os nomes de erro em inglês) significa que uma fórmula retorna vários valores (uma lista ou uma tabela) e o Excel não tem espaço para escrever esses valores: pelo menos uma célula do intervalo de que o resultado precisa não está vazia. A =UNIQUE(A2:A6) abaixo precisa de três células, de C2 a C4, e C4 tem um x. Apague C4 e a lista aparece.
| A | B | C | |
|---|---|---|---|
| 1 | Product | Unique list | |
| 2 | Apple | #SPILL! | |
| 3 | Pear | ||
| 4 | Apple | x | |
| 5 | Plum | ||
| 6 | Pear |
#SPILL! O resultado precisa de mais células livres. Limpe as células que estão no caminho.No Excel em português: =ÚNICO(A2:A6)Clique em C2: a nota embaixo da grade diz o que está errado. Depois clique em C4 e pressione Delete. Os três produtos são despejados em C2:C4, e um contorno marca o intervalo de despejo. Digite algo em C3 e o erro volta. A ÚNICO (UNIQUE em inglês) também pode ser digitada em português na tabela, com ponto e vírgula: =ÚNICO(A2:A6). O Excel funciona do mesmo jeito: funções que retornam matrizes, como FILTRO, ÚNICO, CLASSIFICAR, SEQUÊNCIA e DIVIDIRTEXTO, só funcionam quando o intervalo de despejo inteiro está livre. Elas precisam do Excel 2021 ou posterior (DIVIDIRTEXTO: Microsoft 365 ou Excel 2024); versões mais antigas mostram #NOME? para elas, então o #DESPEJAR! nunca aparece lá (veja ÚNICO para a função em si).
Como corrigir o erro #DESPEJAR!
- Clique na célula com
#DESPEJAR!. No Excel, uma borda tracejada mostra o intervalo que o resultado quer preencher. - Clique no ícone de aviso ao lado da célula e escolha Select Obstructing Cells (selecionar as células que obstruem). O Excel seleciona todas as células que estão no caminho.
- Pressione Delete, ou mova essas células para outro lugar (recorte e cole).
Se as células no caminho têm dados de que você precisa, mova a fórmula: coloque-a em uma coluna ou linha em que tudo abaixo e ao lado esteja vazio.
#DESPEJAR! quando as células parecem vazias
O caso mais confuso: o intervalo de despejo parece vazio, mas o Excel continua dizendo #DESPEJAR!. Uma célula com um único espaço, ou com uma fórmula que retorna um texto vazio "", não está vazia, e bloqueia o despejo como um valor bloquearia.
| A | B | C | |
|---|---|---|---|
| 1 | Numbers | Numbers | |
| 2 | #SPILL! | #SPILL! | |
| 3 | |||
| 4 |
#SPILL! O resultado precisa de mais células livres. Limpe as células que estão no caminho.No Excel em português: =SEQUÊNCIA(3)A2 quer A2:A4, e A4 tem um espaço. C2 quer C2:C3, e C3 tem ="". Clique em A4 ou em C3 para ver o que há ali, apague e os números são despejados. No Excel, Select Obstructing Cells encontra essas células mesmo quando nada aparece nelas. Texto branco em fundo branco se esconde do mesmo jeito.
#DESPEJAR! quando uma fórmula despeja em outra
Duas fórmulas que despejam podem bloquear uma à outra, ou uma fórmula que alguém digitou mais abaixo pode ficar dentro do intervalo de despejo da de cima.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Name | Dept | IT | Sales | |
| 2 | Ana | IT | #SPILL! | Ben | |
| 3 | Ben | Sales | Dee | ||
| 4 | Cy | IT | 5 | ||
| 5 | Dee | Sales | |||
| 6 | Eve | IT |
#SPILL! O resultado precisa de mais células livres. Limpe as células que estão no caminho.No Excel em português: =FILTRO(A2:A6;B2:B6="IT")A lista de IT precisa de três células, D2:D4, e D4 tem uma fórmula CONT.VALORES. A lista de Sales em E2 tem as duas células de que precisa, então funciona. Mova a fórmula CONT.VALORES para D6 (ou qualquer célula abaixo da lista) e os nomes de IT são despejados. Deixe espaço para a lista crescer: se um quarto funcionário de IT for acrescentado depois, o resultado precisa de mais uma célula.
#DESPEJAR! com PROCV e colunas inteiras
Uma causa comum em fórmulas escritas para o Excel antigo é um valor procurado que é uma coluna inteira:
=VLOOKUP(A:A,Prices!A:B,2,FALSE) #SPILL! (one result for every row of the sheet)
=VLOOKUP(A2,Prices!A:B,2,FALSE) one result, fill it down
=VLOOKUP(A2:A100,Prices!A:B,2,FALSE) 100 results that spill
=VLOOKUP(@A:A,Prices!A:B,2,FALSE) one result, the value on the formula's own row
No Excel em português: =PROCV(A:A;Prices!A:B;2;FALSO), =PROCV(A2;Prices!A:B;2;FALSO), =PROCV(A2:A100;Prices!A:B;2;FALSO) e =PROCV(@A:A;Prices!A:B;2;FALSO). A:A tem 1.048.576 células, então a primeira fórmula pede 1.048.576 resultados, e da linha 2 para baixo não sobram linhas suficientes: o menu de aviso diz que o intervalo de despejo passa da borda da planilha. Esse padrão vem do Excel antigo, que usava em silêncio só o valor da própria linha da fórmula. O Excel 365 mantém esse comportamento em pastas de trabalho antigas mostrando a fórmula como =PROCV(@A:A;...), mas a mesma fórmula digitada do zero despeja a coluna inteira. O mesmo acontece com =A:A*2 e qualquer outra fórmula que faz contas em uma coluna inteira. Use uma célula e arraste para baixo, um intervalo do tamanho real, ou @. Mais sobre a busca em si está na página do PROCV.
Um resultado por linha em vez de um despejo
Uma fórmula que faz contas com um intervalo também despeja. Muitas vezes é isso que você quer, e às vezes você quer uma fórmula por linha.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Month | Sales | Spilled +10% | Filled +10% |
| 2 | Jan | 100 | 110 | 110 |
| 3 | Feb | 120 | 132 | 132 |
| 4 | Mar | 90 | 99 | 99 |
| 5 | Apr | 140 | 154 | 154 |
=B2:B5*1,1As duas colunas mostram 110, 132, 99 e 154. C2 tem uma fórmula, e C3:C5 são o despejo dela: clique em C3 e a nota embaixo da grade diz que ela é despejada de C2. Digite em C4 e C2 vira #SPILL!. D2:D5 são quatro fórmulas separadas, então cada célula pode ser mudada sozinha e nada consegue bloquear essas fórmulas. Use a segunda forma quando as pessoas vão digitar por cima de resultados isolados.
#DESPEJAR! em uma tabela, com células mescladas ou de tamanho desconhecido
Essas causas dependem da pasta de trabalho, não da fórmula:
- Dentro de uma tabela do Excel (Inserir > Tabela): as tabelas não aceitam resultados despejados, então uma FILTRO ou uma ÚNICO em uma coluna de tabela mostra
#DESPEJAR!. Coloque a fórmula fora da tabela, ou selecione a tabela e escolha Design da Tabela > Converter em Intervalo. - Células mescladas no intervalo de despejo: selecione essas células e escolha Página Inicial > Mesclar e Centralizar > Desfazer Mesclagem de Células, ou mova a fórmula.
- Intervalo de despejo desconhecido: o tamanho do resultado muda a cada recálculo, como em
=SEQUÊNCIA(ALEATÓRIOENTRE(1;10)). O Excel se recusa a despejar um resultado de tamanho volátil. Dê a ele um tamanho fixo. - Intervalo de despejo grande demais ou passando da borda da planilha: o resultado passaria da última linha ou coluna. Memória insuficiente: a matriz é grande demais para calcular. Nos três casos, reduza os intervalos, normalmente de colunas inteiras para os dados reais.
Retornar um valor só para nada conseguir bloquear
Quando você só precisa de um número de uma lista, como quantos produtos diferentes existem, envolva a função que despeja em uma que retorna um valor único. Um valor único nunca despeja, então nenhuma célula pode ficar no caminho dele.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Product | Different products | |||
| 2 | Apple | ||||
| 3 | Pear | ||||
| 4 | Apple | x | |||
| 5 | Plum | ||||
| 6 | Pear | ||||
| 7 | Apple |
Sua vez: E2 deve dizer quantos produtos diferentes existem em A2:A7. Uma =UNIQUE(A2:A7) simples seria despejada em cima do x de E4. Escreva em E2 uma fórmula que retorne a contagem.
A CONT.VALORES conta os valores que a ÚNICO retorna e devolve um número só. A mesma ideia funciona com =ÍNDICE(CLASSIFICAR(A2:A7);1) para o primeiro valor de uma lista ordenada, =ÍNDICE(FILTRO(...);1) para a primeira correspondência, ou =SOMA(FILTRO(...)) para um total.
Perguntas frequentes
O que significa #DESPEJAR! no Excel?
Uma fórmula retornou mais de um valor (uma matriz dinâmica) e o Excel não conseguiu escrever esses valores nas células abaixo ou ao lado, porque pelo menos uma delas não está vazia, está mesclada ou está dentro de uma tabela. Limpe ou mova o que está no caminho e os resultados aparecem.
Por que aparece #DESPEJAR! se as células parecem vazias?
Uma célula que parece vazia pode ter um espaço, uma fórmula que retorna "" ou um texto formatado em branco. Qualquer um deles bloqueia o despejo. Clique no ícone de aviso ao lado do erro, escolha Select Obstructing Cells (selecionar as células que obstruem) e pressione Delete.
Como corrigir o #DESPEJAR! com PROCV?
O valor procurado é uma coluna ou um intervalo inteiro, como em =PROCV(A:A;D:E;2;FALSO), então o Excel tenta retornar um resultado por linha da planilha. Use uma célula e arraste para baixo, =PROCV(A2;D:E;2;FALSO), ou um intervalo do tamanho real, =PROCV(A2:A100;D:E;2;FALSO).
Como impedir uma fórmula de despejar no Excel?
Faça a fórmula retornar um valor só. Coloque @ na frente de um intervalo para pegar só o valor da própria linha da fórmula (=@A2:A10*2), ou envolva o resultado em uma função que retorna um valor, como =CONT.VALORES(ÚNICO(A2:A10)) ou =ÍNDICE(CLASSIFICAR(A2:A10);1).
Uma fórmula despejada pode ficar dentro de uma tabela do Excel?
Não. Uma fórmula que despeja mostra #DESPEJAR! dentro de uma tabela. Coloque a fórmula em uma célula fora da tabela, ou converta a tabela em um intervalo comum com Design da Tabela > Converter em Intervalo.