Excel dynamic array formula spills into merged cells: fix
🔍 WiseChecker

Excel dynamic array formula spills into merged cells: fix

Cuando ingresas una fórmula de matriz dinámica en Excel, automáticamente expande los resultados a las celdas adyacentes. Si esas celdas son parte de un rango de celdas combinadas, Excel muestra un error #SPILL! y la fórmula no devuelve ningún valor. Esto ocurre porque las celdas combinadas bloquean el rango de expansión que la fórmula necesita para expandirse. Este artículo explica por qué las fórmulas de matriz dinámica entran en conflicto con las celdas combinadas y proporciona tres métodos confiables para corregir el error de expansión.

Puntos clave: Cómo corregir errores #SPILL! causados por celdas combinadas

  • Descombinar las celdas bloqueantes: La solución más rápida: elimina las celdas combinadas en el rango de expansión para que la fórmula pueda expandirse libremente.
  • Usa el operador @ para forzar la salida de una sola celda: Evita la expansión devolviendo solo un valor, pero se pierde algo de datos.
  • Mueve la fórmula a una ubicación segura para la expansión: Coloca la fórmula en una columna sin celdas combinadas para evitar el conflicto por completo.

ADVERTISEMENT

Por qué las fórmulas de matriz dinámica se expanden en celdas combinadas

Las fórmulas de matriz dinámica de Excel están diseñadas para devolver múltiples valores que automáticamente llenan un rango de celdas debajo y a la derecha de la celda de la fórmula. Este rango se llama rango de expansión. Cuando cualquier celda dentro del rango de expansión previsto es parte de un grupo de celdas combinadas, Excel no puede escribir valores en celdas individuales porque las celdas combinadas se comportan como un bloque único. La fórmula entonces produce un error #SPILL! y muestra un triángulo verde en la celda de la fórmula.

La causa raíz es estructural: las celdas combinadas ocupan múltiples filas o columnas como una unidad, pero las fórmulas de matriz dinámica requieren que cada resultado ocupe su propia celda. Incluso si la celda combinada está completamente vacía, Excel la trata como una obstrucción. El rango de expansión debe estar completamente sin combinar y vacío para que la fórmula funcione.

Cómo determina Excel el rango de expansión

Cuando escribes una fórmula como =SORT(A2:A20) en la celda B2, Excel calcula cuántas filas ocupará el resultado. Luego verifica las celdas B3, B4, B5, y así sucesivamente hasta llegar a la última fila necesaria. Si alguna de esas celdas contiene datos, está combinada o está protegida, Excel se detiene y muestra #SPILL!. Las celdas combinadas son la causa más común porque a menudo se colocan en filas de encabezado o secciones de resumen cerca de los rangos de datos.

Métodos paso a paso para corregir el error de expansión

Elige el método que mejor se adapte a la disposición de tu hoja de cálculo. El método 1 es el más directo. El método 2 conserva las celdas combinadas pero limita la salida. El método 3 evita las celdas combinadas por completo.

Método 1: Descombinar las celdas bloqueantes

  1. Selecciona el rango de celdas combinadas
    Haz clic en la celda combinada que muestra el error #SPILL!. Excel resalta el rango de expansión con un borde azul discontinuo. La celda combinada suele estar dentro de ese borde.
  2. Abre el menú Combinar y centrar
    Ve a la pestaña Inicio. En el grupo Alineación, haz clic en la flecha desplegable de Combinar y centrar.
  3. Elige Descombinar celdas
    Selecciona Descombinar celdas en el menú desplegable. Excel divide el bloque combinado en celdas individuales.
  4. Verifica la fórmula
    Después de descombinar, la fórmula debería recalcular y expandirse correctamente. Si el error persiste, presiona F2 y luego Entrar para forzar un recálculo.

Método 2: Forzar la salida de una sola celda con el operador @

  1. Edita la fórmula
    Haz clic en la celda que contiene la fórmula de matriz dinámica. Presiona F2 para entrar en modo de edición.
  2. Inserta el operador de intersección implícita
    Coloca el cursor antes del paréntesis de apertura de la función. Escribe el símbolo @. Por ejemplo, cambia =SORT(A2:A20) a =@SORT(A2:A20).
  3. Presiona Entrar
    La fórmula ahora devuelve solo el primer valor de la matriz. El error de expansión desaparece porque la fórmula ya no intenta expandirse a las celdas adyacentes.

Este método funciona cuando solo necesitas un resultado único. Todos los demás valores de la matriz se descartan.

Método 3: Mover la fórmula a una columna sin celdas combinadas

  1. Identifica una columna segura para la expansión
    Busca una columna donde no haya celdas combinadas y no existan datos debajo de la celda de la fórmula. Una columna en blanco a la derecha de tus datos suele funcionar.
  2. Corta la fórmula
    Selecciona la celda con el error #SPILL!. Presiona Ctrl+X para cortar la fórmula.
  3. Pega en la columna segura
    Haz clic en la celda de destino en la columna segura. Presiona Ctrl+V para pegar. La fórmula se expande correctamente siempre que no haya celdas combinadas que bloqueen el nuevo rango.

ADVERTISEMENT

Si el error de expansión persiste después de descombinar

A veces descombinar una celda no es suficiente. Otras celdas combinadas u obstáculos ocultos pueden seguir bloqueando el rango de expansión. Usa las siguientes comprobaciones para encontrar todos los problemas restantes.

Excel muestra #SPILL! pero no se ven celdas combinadas

Si descombinaste todas las celdas combinadas visibles y el error persiste, verifica si hay celdas combinadas ocultas. Selecciona todo el rango de expansión haciendo clic en el borde azul discontinuo. Luego ve a Inicio > Buscar y seleccionar > Ir a Especial. Elige Celdas combinadas y haz clic en Aceptar. Excel resalta cualquier celda combinada restante en la selección. Descombínalas usando los pasos del Método 1.

El rango de expansión contiene filas o columnas ocultas

Las filas o columnas ocultas no bloquean los rangos de expansión. Sin embargo, si una fila oculta contiene una celda combinada, esa celda combinada sigue bloqueando la expansión. Muestra todas las filas y columnas en el rango de expansión seleccionando toda la hoja, haciendo clic derecho en un número de fila y eligiendo Mostrar. Luego verifica si hay celdas combinadas.

La validación de datos o el formato condicional causan fallos en la expansión

Las reglas de validación de datos y el formato condicional aplicados a celdas combinadas también pueden bloquear los rangos de expansión. Elimina cualquier validación de datos del rango de expansión seleccionando el rango, yendo a Datos > Validación de datos y haciendo clic en Borrar todo. Para el formato condicional, ve a Inicio > Formato condicional > Borrar reglas > Borrar reglas de las celdas seleccionadas.

Reparación rápida vs. Reparación en línea: diferencias clave

Elemento Descombinar celdas Usar operador @
Descripción Elimina los bloques de celdas combinadas en el rango de expansión Fuerza a la fórmula a devolver solo un valor
Conserva la disposición de celdas combinadas No
Devuelve la salida completa de la matriz No — solo el primer valor
Mejor para Hojas de cálculo donde las celdas combinadas no son esenciales Informes que necesitan un único valor de resumen
Riesgo de pérdida de datos Ninguno Pierde todos los valores de la matriz excepto el primero

Ahora puedes corregir los errores #SPILL! causados por celdas combinadas descombinando el rango bloqueante, usando el operador @ para una salida única, o moviendo la fórmula a una columna limpia. Intenta usar la función Ir a Especial para encontrar rápidamente celdas combinadas ocultas. Para diseños complejos, considera reemplazar las celdas combinadas con el formato Centrar en la selección en Inicio > Alineación > Formato de celdas > Horizontal: se ve como celdas combinadas pero no bloquea las expansiones de matrices dinámicas.

ADVERTISEMENT