El error #CALC! aparece cuando las fórmulas de matriz dinámica de Excel no pueden calcular un resultado. Este error es específico de fórmulas que utilizan rangos de derrame, como FILTER, SEQUENCE o UNIQUE. Indica un problema con la lógica de la fórmula o su entorno de cálculo. Este artículo explica las causas comunes y proporciona pasos para resolver el error #CALC!.
Puntos clave: Cómo corregir el error #CALC!
- Verifique si hay matrices vacías en FILTER: Use el tercer argumento para proporcionar un valor de respaldo cuando no se encuentren resultados.
- Limpie el bloqueo del rango de derrame: Elimine cualquier dato, celdas combinadas o tablas que obstruyan el rango de salida de la fórmula.
- Use IFERROR con una matriz dinámica: Envuelva la fórmula para capturar el error #CALC! y mostrar un mensaje personalizado o una celda en blanco.
Por qué las fórmulas de matriz dinámica devuelven #CALC!
El error #CALC! es un error de cálculo exclusivo de las fórmulas de matriz dinámica introducidas en versiones modernas de Excel. A diferencia de #VALUE! o #REF!, señala específicamente que una función de matriz dinámica no pudo producir un rango de derrame válido. El error ocurre porque la lógica interna de la fórmula no logra generar una matriz que Excel pueda mostrar.
Un desencadenante común es una función como FILTER que devuelve una matriz vacía porque ningún dato coincide con sus criterios. Sin un valor de respaldo, Excel no tiene nada que derramar en la cuadrícula, lo que resulta en #CALC!. Otra causa frecuente es un bloqueo físico en el rango de derrame. Si las celdas donde debería aparecer el resultado contienen otros datos, forman parte de una tabla o están combinadas, la fórmula no puede generar su matriz.
Entendiendo los conflictos de rango de derrame
Cada fórmula de matriz dinámica tiene un área de salida prevista llamada rango de derrame. Excel reserva este rango automáticamente. Si alguna celda dentro de ese rango previsto no está vacía, la fórmula no puede derramar sus resultados. Este conflicto genera un error #CALC!. El bloqueo podría ser un valor único, una fórmula, un objeto de tabla o incluso un elemento de formato oculto como un borde de un área de impresión.
Pasos para resolver el error #CALC!
Método 1: Corregir FILTER y otras funciones de matriz
- Agregue un valor de respaldo para resultados vacíos
Edite su fórmula FILTER. Incluya un tercer argumento para especificar qué mostrar si no se encuentran coincidencias. Por ejemplo, cambie =FILTER(A2:A10, B2:B10=”Sí”) a =FILTER(A2:A10, B2:B10=”Sí”, “Sin coincidencias”). Esto evita una matriz vacía. - Verifique los argumentos de la función
Asegúrese de que todos los rangos en su fórmula de matriz dinámica tengan el mismo tamaño. Una fórmula como =FILTER(A2:A10, B2:B5=”Sí”) causará #CALC! porque la matriz y los argumentos de inclusión tienen diferentes números de filas. - Pruebe si hay errores de cálculo en los datos de origen
Si su fórmula hace referencia a un rango que contiene sus propios errores como #N/A, la matriz dinámica puede fallar. Use la función IFERROR en los datos de origen primero para limpiarlos antes de aplicar su fórmula principal.
Método 2: Limpiar el rango de derrame
- Identifique el rango de derrame
Haga clic en la celda que contiene su fórmula de matriz dinámica. Excel mostrará un borde azul discontinuo alrededor de todas las celdas que pretende llenar con resultados. Este es el rango de derrame. - Limpie todas las celdas en el rango de derrame
Seleccione cada celda dentro del área del borde azul. Presione la tecla Suprimir en su teclado para eliminar cualquier valor, fórmula o texto. No solo limpie el formato; elimine el contenido de las celdas. - Verifique si hay celdas combinadas y tablas
Asegúrese de que ninguna celda en el rango de derrame esté combinada. Además, confirme que el rango de derrame no se superponga con un objeto de tabla de Excel. Si es así, debe mover la tabla o colocar su fórmula en otro lugar. - Presione Enter para recalcular
Después de limpiar el bloqueo, haga clic nuevamente en la celda de la fórmula y presione Enter. El error #CALC! debería resolverse si el bloqueo era la causa.
Método 3: Usar IFERROR para manejar el error
- Envuelva su fórmula con IFERROR
Modifique su fórmula para capturar el error #CALC!. Por ejemplo, cambie =SORT(FILTER(A2:B100, C2:C100>100)) a =IFERROR(SORT(FILTER(A2:B100, C2:C100>100)), “Verifique los criterios”). - Use una cadena vacía para un resultado en blanco
Si prefiere que la celda aparezca vacía cuando ocurra el error, use comillas dobles: =IFERROR(UNIQUE(D2:D500), “”). Esto es útil para paneles de control. - Combine con otras comprobaciones de errores
Puede anidar IFERROR con otras comprobaciones. Por ejemplo, use =IF(COUNTA(RangoEntrada)=0, “Sin datos”, IFERROR(SuFormulaDinamica, “Error de cálculo”)) para manejar múltiples condiciones.
Si el error #CALC! persiste
Excel muestra #CALC! incluso con un rango de derrame limpio
El problema podría ser un conflicto de intersección implícita en un libro de trabajo más antiguo. Si abre un archivo creado en una versión de Excel anterior a las matrices dinámicas, el operador @ puede insertarse automáticamente, causando un desajuste. Verifique si hay advertencias de intersección implícita (un triángulo verde en la esquina de la celda). Haga clic en la advertencia y seleccione ‘Convertir a rango’ para actualizar la fórmula para matrices dinámicas.
La fórmula funciona en una celda pero devuelve #CALC! al copiarla
Las fórmulas de matriz dinámica están diseñadas para derramarse. No debe copiar y pegar la misma fórmula en otras celdas. Una sola fórmula en la celda superior izquierda del rango de derrame es suficiente. Si pega un duplicado, la segunda fórmula intentará derramarse en un rango ya ocupado por los resultados de la primera fórmula, causando un error #CALC!. Elimine las fórmulas copiadas y conserve solo la original.
#CALC! aparece al hacer referencia a otro libro de trabajo
Las fórmulas de matriz dinámica que hacen referencia a libros de trabajo externos cerrados pueden devolver #CALC! porque Excel no puede resolver completamente la matriz de los datos externos. Abra el libro de trabajo de origen para actualizar los vínculos. Considere usar Power Query para importar los datos externos a su libro de trabajo principal para operaciones de matriz más estables.
Causas comunes de #CALC! frente a otros errores
| Elemento | Error #CALC! | Error #SPILL! |
|---|---|---|
| Causa principal | La lógica de la fórmula no logra producir una matriz válida | Obstrucción física en el rango de celdas de salida |
| Ejemplo común | FILTER sin resultados coincidentes y sin valor de respaldo | Un valor existe en una celda donde la matriz necesita derramarse |
| Alcance del error | Solo la celda de la fórmula muestra el error | Todo el rango de derrame muestra el error |
| Solución rápida | Agregue un envoltorio IFERROR o un argumento de respaldo | Limpie las celdas bloqueadas en el rango de derrame |
Ahora puede identificar y corregir el error #CALC! en sus fórmulas de matriz dinámica. Comience agregando un valor de respaldo como “Sin resultados” a sus funciones FILTER. Para problemas persistentes, use la función IFERROR para manejar el error de manera elegante. Un consejo avanzado es usar la función LET para nombrar cálculos intermedios dentro de su fórmula de matriz, lo que puede facilitar la depuración de errores lógicos.