#SPILL! significa que una fórmula devuelve varios valores (una lista o una tabla) y Excel no tiene sitio para escribirlos: al menos una celda del rango que necesita el resultado no está vacía. =UNIQUE(A2:A6) de abajo necesita tres celdas, de C2 a C4, y C4 contiene una x. Borra C4 y aparece la lista. En Excel en español la función es UNICOS (UNIQUE en inglés), y la tabla también acepta las fórmulas escritas en español, con punto y coma (o con comas, como en México): =UNICOS(A2:A6). La tabla muestra los nombres de error en inglés.
| A | B | C | |
|---|---|---|---|
| 1 | Product | Unique list | |
| 2 | Apple | #SPILL! | |
| 3 | Pear | ||
| 4 | Apple | x | |
| 5 | Plum | ||
| 6 | Pear |
#SPILL! El resultado necesita más celdas libres. Vacía las celdas que lo bloquean.En Excel en español: =UNICOS(A2:A6)Haz clic en C2: la nota bajo la cuadrícula dice qué falla. Luego haz clic en C4 y pulsa Suprimir. Los tres productos se derraman en C2:C4, y un contorno marca el rango de desbordamiento. Escribe algo en C3 y el error vuelve. Excel funciona igual: las funciones que devuelven matrices, como FILTRAR, UNICOS, ORDENAR, SECUENCIA y DIVIDIRTEXTO, solo funcionan cuando todo su rango de desbordamiento está libre. Necesitan Excel 2021 o posterior (DIVIDIRTEXTO: Microsoft 365 o Excel 2024); las versiones anteriores muestran #¿NOMBRE? (#NAME? en inglés) para ellas, así que ahí nunca aparece #SPILL! (consulta UNICOS para la función en sí).
Cómo arreglar el error #SPILL!
- Haz clic en la celda con
#SPILL!. En Excel, un borde discontinuo muestra el rango que el resultado quiere llenar. - Haz clic en el icono de advertencia junto a la celda y elige Seleccionar celdas obstructoras. Excel selecciona todas las celdas que estorban.
- Pulsa Suprimir, o mueve esas celdas a otro sitio (córtalas y pégalas).
Si las celdas que estorban contienen datos que necesitas, mueve la fórmula: ponla en una columna o una fila donde todo lo de debajo y de al lado esté vacío.
#SPILL! cuando las celdas parecen vacías
El caso más confuso: el rango de desbordamiento parece vacío, pero Excel sigue diciendo #SPILL!. Una celda con un solo espacio, o una fórmula que devuelve una cadena vacía "", no está vacía, y bloquea el desbordamiento igual que un valor.
| A | B | C | |
|---|---|---|---|
| 1 | Numbers | Numbers | |
| 2 | #SPILL! | #SPILL! | |
| 3 | |||
| 4 |
#SPILL! El resultado necesita más celdas libres. Vacía las celdas que lo bloquean.En Excel en español: =SECUENCIA(3)A2 quiere A2:A4, y A4 contiene un espacio. C2 quiere C2:C3, y C3 contiene ="". Haz clic en A4 o en C3 para ver qué hay, bórralo y los números se derraman. En Excel, Seleccionar celdas obstructoras encuentra estas celdas aunque no se vea nada en ellas. El texto blanco sobre relleno blanco se esconde igual.
#SPILL! cuando una fórmula se desborda sobre otra
Dos fórmulas que se desbordan pueden bloquearse entre sí, o una fórmula que alguien escribió más abajo puede quedar dentro del rango de desbordamiento de la de arriba.
| 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! El resultado necesita más celdas libres. Vacía las celdas que lo bloquean.En Excel en español: =FILTRAR(A2:A6;B2:B6="IT")La lista de IT necesita tres celdas, D2:D4, y D4 contiene una fórmula CONTARA. La lista de Sales de E2 tiene las dos celdas que necesita, así que funciona. Mueve la fórmula CONTARA a D6 (o a cualquier celda bajo la lista) y los nombres de IT se derraman. Deja sitio para que la lista crezca: si más adelante se añade un cuarto empleado de IT, el resultado necesita una celda más.
#SPILL! con BUSCARV y columnas enteras
Una causa frecuente en fórmulas escritas para Excel antiguo es un valor buscado que es una columna entera:
=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
En Excel en español, la primera es =BUSCARV(A:A;Prices!A:B;2;FALSO) y las demás cambian igual.
A:A tiene 1.048.576 celdas, así que la primera fórmula pide 1.048.576 resultados, y desde la fila 2 hacia abajo no quedan filas suficientes: el menú de advertencia dice que el rango de desbordamiento se sale del borde de la hoja. El patrón viene de Excel antiguo, que usaba en silencio solo el valor de la fila de la fórmula. Excel 365 conserva ese comportamiento en los libros antiguos mostrando la fórmula como =BUSCARV(@A:A;...), pero la misma fórmula escrita de nuevo desborda la columna entera. Lo mismo ocurre con =A:A*2 y cualquier otra fórmula que hace cuentas sobre una columna entera. Usa una celda y copia hacia abajo, un rango del tamaño real o @. Hay más sobre la búsqueda en sí en la página de BUSCARV.
Un resultado por fila en lugar de un desbordamiento
Una fórmula que hace cuentas sobre un rango también se desborda. A menudo es lo que quieres, y a veces prefieres una fórmula por fila.
| 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,1Las dos columnas muestran 110, 132, 99 y 154. C2 contiene una fórmula, y C3:C5 son su desbordamiento: haz clic en C3 y la nota bajo la cuadrícula dice que viene de C2. Escribe en C4 y C2 se convierte en #SPILL!. D2:D5 son cuatro fórmulas separadas, así que cada celda se puede cambiar por su cuenta y nada puede bloquearlas. Usa la segunda forma cuando haya gente que vaya a escribir sobre resultados sueltos.
#SPILL! en una tabla, con celdas combinadas o de tamaño desconocido
Estas causas dependen del libro, no de la fórmula:
- Dentro de una tabla de Excel (Insertar > Tabla): las tablas no admiten resultados desbordados, así que un FILTRAR o un UNICOS en una columna de la tabla muestra
#SPILL!. Pon la fórmula fuera de la tabla, o selecciona la tabla y elige Diseño de tabla > Convertir en rango. - Celdas combinadas en el rango de desbordamiento: selecciónalas y elige Inicio > Combinar y centrar > Separar celdas, o mueve la fórmula.
- El rango de desbordamiento es desconocido: el tamaño del resultado cambia en cada recálculo, como en
=SECUENCIA(ALEATORIO.ENTRE(1;10)). Excel se niega a desbordar un resultado de tamaño volátil. Dale un tamaño fijo. - El rango de desbordamiento es demasiado grande o se sale del borde de la hoja: el resultado pasaría de la última fila o columna. Memoria insuficiente: la matriz es demasiado grande para calcularla. En los tres casos, reduce los rangos, normalmente de columnas enteras a los datos reales.
Devolver un solo valor para que nada lo bloquee
Cuando de una lista solo necesitas un número, como cuántos productos distintos hay, envuelve la función que se desborda en otra que devuelva un solo valor. Un valor único nunca se desborda, así que ninguna celda puede estorbarle.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Product | Different products | |||
| 2 | Apple | ||||
| 3 | Pear | ||||
| 4 | Apple | x | |||
| 5 | Plum | ||||
| 6 | Pear | ||||
| 7 | Apple |
Tu turno: E2 debe decir cuántos productos distintos hay en A2:A7. Un simple =UNIQUE(A2:A7) se desbordaría sobre la x de E4. Escribe en E2 una fórmula que devuelva el conteo.
CONTARA cuenta los valores que devuelve UNICOS y da un solo número. La misma idea funciona con =INDICE(ORDENAR(A2:A7);1) para el primer valor de una lista ordenada, =INDICE(FILTRAR(...);1) para la primera coincidencia, o =SUMA(FILTRAR(...)) para un total.
Preguntas frecuentes
¿Qué significa #SPILL! en Excel?
Una fórmula devolvió más de un valor (una matriz dinámica) y Excel no pudo escribirlos en las celdas de debajo o de al lado, porque al menos una de ellas no está vacía, está combinada o está dentro de una tabla. Vacía o mueve lo que estorba y aparecen los resultados.
¿Por qué obtengo #SPILL! si las celdas parecen vacías?
Una celda que parece vacía puede contener un espacio, una fórmula que devuelve "" o un texto en blanco sobre blanco. Cualquiera de ellos bloquea el desbordamiento. Haz clic en el icono de advertencia junto al error, elige Seleccionar celdas obstructoras y pulsa Suprimir.
¿Cómo arreglo #SPILL! con BUSCARV?
El valor buscado es una columna o un rango entero, como =BUSCARV(A:A;D:E;2;FALSO), así que Excel intenta devolver un resultado por cada fila de la hoja. Usa una celda y copia hacia abajo, =BUSCARV(A2;D:E;2;FALSO), o un rango del tamaño real, =BUSCARV(A2:A100;D:E;2;FALSO).
¿Cómo evito que una fórmula se desborde en Excel?
Haz que devuelva un solo valor. Pon @ delante de un rango para tomar solo el valor de la fila de la fórmula (=@A2:A10*2), o envuelve el resultado en una función que devuelva un valor, como =CONTARA(UNICOS(A2:A10)) o =INDICE(ORDENAR(A2:A10);1).
¿Puede ir una fórmula desbordada dentro de una tabla de Excel?
No. Una fórmula que se desborda muestra #SPILL! dentro de una tabla. Ponla en una celda fuera de la tabla, o convierte la tabla en un rango normal con Diseño de tabla > Convertir en rango.