La liquidación de comisiones de socios de septiembre suma 5.995,44. Doce pedidos, una columna de comisión, ninguna celda roja, nada marcado. Administración la aprueba y el dinero sale.
La cifra correcta era 8.948,19.
En esa hoja no había nada roto. Las fórmulas estaban bien, el tarifario estaba bien, los datos venían directos del sistema de pedidos. Lo que pasó es que alguien, en algún momento, se cansó de mirar celdas rojas y envolvió la columna de comisión en SI.ERROR(…; 0). Dos de las doce filas tenían problemas de verdad. SI.ERROR convirtió las dos en ceros, y los ceros suman en silencio perfecto.
Ese es todo el argumento de este artículo. Un valor de error no es una avería: es un mensaje. Excel te está diciendo algo concreto sobre una celda concreta, con una de nueve palabras distintas, y cada palabra significa una cosa diferente. Silenciar el mensaje no lo responde; solo traslada el coste desde una celda roja que alguien habría arreglado hasta un total que nadie va a revisar jamás.
Qué necesitas. Las secciones 1 a 11 funcionan en cualquier versión de Excel de este siglo y en Google Sheets, con las excepciones señaladas.
SI.NDes Excel 2013 y posteriores.BUSCARXy su argumentosi_no_se_encuentra,#¡DESBORDAMIENTO!y#¡CALC!son Microsoft 365 y Excel 2021 o posterior.
1) Una Liquidación Que Va 2.952,75 Corta
🎯 Escenario: Cierre de mes. Doce pedidos de socios salieron del sistema de pedidos, el tarifario vive en otra pestaña y la liquidación hay que aprobarla esta tarde. Todas las celdas de la columna de comisión enseñan un número.
Pedidos de Socios de Septiembre, Doce Filas Que Alimentan una Liquidación de Comisiones
Doce pedidos tal como los exportó el sistema de pedidos, con la comisión del socio todavía por calcular. Tres celdas de esta cuadrícula producirán errores en cuanto escribas las fórmulas obvias, y solo una de las tres se ve en pantalla. D5 guarda el texto "1,050.00" en vez del número 1050 — la exportación lo escribió con separador de miles, así que C5*D5 es #¡VALOR! y los 27.300,00 que vale ese pedido nunca llegan al total. PT-047, en B7, es un socio real que nunca se dio de alta en el tarifario, así que su búsqueda es un #N/D veraz que vale 222,75. La fila 4 se canceló, con cero unidades y cero días de envío, de modo que cualquier cosa dividida por unidad o por día en esa fila es #¡DIV/0!. Todas las fórmulas del artículo asumen esta disposición: referencias de pedido en A2:A13, unidades en C2:C13, precios unitarios en D2:D13, días de envío en E2:E13 y estado en F2:F13.
fxLas celdas con fórmulas están resaltadas en verde
Pasa el mouse sobre las celdas con fórmulas para ver la fórmula y resaltar las celdas referenciadas
El tarifario son cinco filas en otra hoja:
| Código de Socio | Tasa |
|---|---|
| PT-014 | 8% |
| PT-022 | 8% |
| PT-031 | 10% |
| PT-058 | 6% |
| PT-063 | 12% |
La comisión es lo obvio. Valor del pedido en G2:
=C2*D2
y comisión en H2:
=G2*BUSCARX(B2; Tarifario[Código de Socio]; Tarifario[Tasa])
Copia las dos hacia abajo y la columna no queda limpia. Dos filas se ponen rojas:
| Fila | Pedido | Qué aparece en H | Por qué |
|---|---|---|---|
| 5 | ORD-4104 | #¡VALOR! | D5 guarda el texto "1,050.00", no el número 1050 |
| 7 | ORD-4106 | #N/D | PT-047 no está en el tarifario |
Dos celdas rojas en una columna de doce molestan, y el reflejo es hacerlas desaparecer:
=SI.ERROR(G2*BUSCARX(B2; Tarifario[Código de Socio]; Tarifario[Tasa]); 0)
La columna ya está limpia. =SUMA(H2:H13) devuelve 5.995,44, y esto es de qué está hecha esa cifra:
| Comisión | ||
|---|---|---|
| Diez filas que calcularon bien | 5.995,44 | |
| ORD-4104 — vale de verdad 27.300,00 al 10% | 2.730,00 | sustituida por 0 |
| ORD-4106 — vale de verdad 3.712,50 al 6% | 222,75 | sustituida por 0 |
| Total real | 8.948,19 |
2.952,75 pagados de menos, y la hoja no guarda memoria de ello. No hay celda roja, ni comentario, ni rastro de auditoría — los dos ceros se ven exactamente igual que el cero legítimo de la fila 4, donde un pedido cancelado no gana nada de verdad.
La columna de valor del pedido cuenta lo mismo de forma más cruda. =SUMA(G2:G13) marca 68.233,50; el valor real de los pedidos del mes es 95.533,50. Una celda de texto, 27.300,00 de facturación desaparecida.
Los valores de error estaban haciendo su trabajo. Alguien apagó la alarma de incendios y se volvió a dormir.
2) Los Nueve Errores y de Qué Te Acusa Cada Uno
Excel tiene nueve valores de error que te vas a encontrar en el trabajo normal, más un puñado de otros más nuevos ligados a tipos de datos y conexiones. No son intercambiables, y la forma más rápida de arreglar una hoja es leer el error como una frase y no como "roto".
| Error | Significa | El arreglo suele estar |
|---|---|---|
#¡VALOR! | Un argumento tiene el tipo o la forma equivocada | En los datos — un número guardado como texto, un rango donde se esperaba una celda |
#N/D | Una búsqueda miró y no encontró | En la tabla de búsqueda, o en la clave — muchas veces esto no es un error |
#¡REF! | La referencia ya no existe | En el pasado — una fila, columna u hoja borrada |
#¡DIV/0! | Algo se dividió entre cero o entre vacío | En el denominador, o en si la pregunta tiene sentido |
#¿NOMBRE? | Excel no reconoce una palabra de la fórmula | En la ortografía, una comilla que falta, un nombre que falta, o tu versión de Excel |
#¡NUM! | La matemática es válida pero imposible o no acotada | En los argumentos — una raíz negativa, una fecha anterior a 1900, un cálculo que no converge |
#¡NULO! | Se pidió la intersección vacía de dos rangos | En un espacio que debería haber sido un punto y coma |
#¡DESBORDAMIENTO! | Una matriz dinámica no tiene dónde caer | En lo que esté estorbando |
#¡CALC! | Un cálculo produjo algo que Excel no puede representar — casi siempre una matriz vacía | En el filtro que no encontró nada |
Hay dos reglas que atraviesan los nueve.
Los errores son valores. #N/D es un valor tan válido como 42 o "Enviado". Se puede guardar en una celda, devolver desde una función, pasar como argumento y comprobar. Por eso =A1=#N/D no funciona — #N/D escrito en una fórmula no es un literal — y por eso =ESNOD(A1) sí.
Los errores se propagan. Cualquier fórmula que reciba un error como argumento devuelve un error, y por defecto devuelve ese error, no uno nuevo. Es una virtud: significa que el #¡VALOR! que estás mirando en el gran total nació en otro sitio, y la sección 13 va de encontrar dónde.
3) #¡VALOR! — el Argumento Tiene la Forma Equivocada
#¡VALOR! es el error más frecuente en datos importados y casi siempre significa lo mismo: una celda que crees que guarda un número guarda texto.
D5 en la cuadrícula de ejemplo enseña 1,050.00. Parece igual que los demás precios. Está alineada a la izquierda en vez de a la derecha, que es la única pista visual que da Excel, y a casi nadie le han enseñado a leerla. =ESTEXTO(D5) devuelve VERDADERO; =ESNUMERO(D5) devuelve FALSO; =C5*D5 devuelve #¡VALOR!.
Los diagnósticos son de una línea cada uno:
=ESNUMERO(D5) FALSO — este es todo el problema
=CONTAR(D2:D13) 11, no 12 — CONTAR solo cuenta números
=SUMAPRODUCTO(--ESTEXTO(D2:D13)) 1 — cuántas celdas de texto se esconden en la columna
Esa comprobación con CONTAR merece convertirse en costumbre. En cualquier columna que deba ser numérica, CONTAR contra CONTARA te dice de un vistazo si la columna es lo que crees:
=CONTARA(D2:D13)-CONTAR(D2:D13) → 1 celda de texto en una columna numérica
Arreglarlo bien. El apaño con fórmula es =C5*VALOR(SUSTITUIR(D5;",";"")), y es un apaño — parchea una celda y deja los datos mal para la siguiente persona. Arregla los valores:
- Selecciona la columna → Datos → Texto en columnas → Finalizar. Un no-hacer-nada de un solo paso que vuelve a analizar todas las celdas y convierte las que Excel sabe leer. Es más rápido que cualquier fórmula y arregla los datos en vez del síntoma.
- Pegado especial ▸ Multiplicar por 1 desde una celda vacía, que fuerza los texto-números en su sitio.
- Si la exportación hace esto todos los meses, arréglalo en Power Query en el momento de importar, donde la columna recibe un tipo declarado una vez y se queda así.
Las otras causas de #¡VALOR!, más o menos por frecuencia:
- Un espacio en una celda que parece vacía.
=LARGO(D5)devolviendo1en una celda "vacía" es la señal. - Una fecha guardada como texto usada en aritmética —
="15/09/2026"-1es#¡VALOR!,=FECHANUMERO("15/09/2026")-1no. - Darle a una función un rango donde quiere una celda, como
=IZQUIERDA(A2:A13; 3)en una versión sin matrices dinámicas. - El número u orden de argumentos equivocado —
=FECHA(2026; 9)sin el día.
4) #N/D — el Único Error Que Muchas Veces Dice la Verdad
#N/D es distinto de los otros ocho. Los demás dicen tu fórmula está mal. #N/D dice "he mirado y no está" — que puede ser una descripción perfectamente exacta de la realidad.
PT-047 en B7 es un socio real. Sus pedidos son reales, sus 150 unidades a 24,75 son facturación real. Sencillamente no está en el tarifario, porque quien lo dio de alta nunca añadió la fila. Que BUSCARX devuelva #N/D no es una avería: es la hoja informando de un tarifario incompleto, de la única manera que tiene.
Por eso el arreglo de un #N/D muchas veces no es una fórmula:
El #N/D significa | Haz esto |
|---|---|
| La clave falta de verdad en la tabla | Añade la fila a la tabla. La fórmula tenía razón. |
| La clave está pero no coincide | Normaliza los dos lados — ESPACIOS, LIMPIAR, SUSTITUIR(…;CARACTER(160);" "), y haz que texto y número se pongan de acuerdo |
| La clave legítimamente no aplica | Devuelve un respaldo deliberado con SI.ND y di lo que significa |
| Quieres que un gráfico salte el punto | Deja el #N/D — mira la sección 11 |
El caso de la no coincidencia merece una nota, porque produce un #N/D que parece imposible. "PT-014" y "PT-014 " son cadenas distintas. "0300412" como texto y 300412 como número son valores distintos. Los dos se ven idénticos en pantalla y ninguno cuadrará jamás. Antes de escribir un respaldo, comprueba si la clave falta de verdad:
=CONTAR.SI(Tarifario[Código de Socio]; B7) 0 — no está con ninguna grafía
=CONTAR.SI(Tarifario[Código de Socio]; "*"&ESPACIOS(B7)&"*") 1 — sí está, con espacios
Si esas dos discrepan, tienes un trabajo de limpieza de datos, no un problema de búsqueda.
La coincidencia aproximada es la versión silenciosa de este error. BUSCARV con el cuarto argumento omitido usa coincidencia aproximada, que no devuelve #N/D cuando no encuentra tu clave: devuelve el valor inmediatamente inferior, con aplomo y equivocado. Una tabla sin ordenar más un cuarto argumento ausente te da el peor resultado posible: un número plausible donde debería haber un #N/D. Escribe siempre FALSO (o 0) como cuarto argumento, o usa BUSCARX, que es exacto por defecto.
5) #¡DIV/0! — Dos Problemas Distintos con la Misma Cara
La fila 4 del ejemplo es un pedido cancelado: cero unidades, cero días de envío. Cualquier cifra por unidad o por día de esa fila divide entre cero.
=H4/C4 #¡DIV/0! — comisión por unidad, en un pedido sin unidades
=H4/E4 #¡DIV/0! — comisión por día de envío, en un pedido que nunca se envió
Excel también produce #¡DIV/0! cuando el denominador está vacío, porque una celda vacía se convierte en cero en aritmética. Eso importa, porque "cero" y "todavía sin rellenar" son situaciones muy distintas que producen un error idéntico.
Pregúntate cuál de las dos tienes, porque la respuesta honesta cambia:
| Situación | La respuesta correcta |
|---|---|
| El denominador es cero de verdad y el ratio no tiene sentido | El ratio no existe. Enseña una raya o un blanco — no un cero |
| El denominador está en blanco porque el dato no ha llegado | Enseña algo que diga "pendiente", no un número |
| El denominador es cero y cero es una respuesta real | Devuelve 0 — pero asegúrate, porque esto es raro |
El patrón que mantiene visible la diferencia:
=SI(C4=0; "—"; H4/C4)
Comprueba el denominador, no el resultado. Esa es la diferencia entre "este ratio no aplica" y "captura cualquier cosa que salga mal aquí", y solo la primera es una afirmación sobre tus datos.
La trampa: =SI.ERROR(H4/C4; 0) se lee como inofensivo y no lo es. Una comisión por unidad de 0 afirma que este pedido no ganó nada por unidad, lo cual es falso — no ganó nada por unidad porque no había unidades, y son frases distintas. Mete una columna de esas en un PROMEDIO y la media sale mal, en silencio, en dirección al cero. La sección 12 tiene la aritmética.
6) #¿NOMBRE? — Excel No Reconoce una Palabra
#¿NOMBRE? significa que Excel encontró algo en tu fórmula que no puede resolver como función, como nombre o como referencia. Tiene cinco causas frecuentes y merece la pena distinguirlas, porque una de ellas no es culpa tuya.
Una errata en el nombre de una función. =BUSCAARX(…), =SUMAR.SI.CONJUNTO escrito =SUMAR.SI.CONJUNTOS. El autocompletado suele evitarlas, y por eso aparecen sobre todo en fórmulas pegadas desde otro sitio.
Una comilla que falta alrededor de un texto. Esta es la que pilla a gente que sabe lo que hace:
=SI(F2=Enviado; H2; 0) #¿NOMBRE? — Enviado se lee como un nombre que no existe
=SI(F2="Enviado"; H2; 0) correcto
Excel no tiene una categoría para "palabra suelta", así que un Enviado sin comillas se interpreta como un nombre definido, y no existe tal nombre.
Un rango con nombre que no existe. =SUMA(Comision) cuando el nombre es en realidad Comisiones, o cuando se definió en otro libro y no viajó con la hoja. Ctrl+F3 abre el Administrador de nombres; un nombre cuyo valor sea #¡REF! es un nombre roto, y le pasará #¿NOMBRE? a todo lo que lo use.
Una función que tu Excel no tiene. BUSCARX, DIVIDIRTEXTO, LET y LAMBDA devuelven #¿NOMBRE? en versiones antiguas. Este caso es el importante, porque la fórmula está bien — simplemente no puede ejecutarse aquí. Un libro que se abre perfecto en tu equipo y enseña #¿NOMBRE? en el de un compañero es casi siempre esto. Cuando Excel carga un archivo con una función que no conoce, le pone el prefijo _xlfn., así que una barra de fórmulas que diga =_xlfn.XLOOKUP(...) te lo está contando exactamente.
Un nombre de función traducido. Excel traduce los nombres de función según el idioma de la interfaz. Una instalación en español escribe =SI.ERROR(...); escribir =IFERROR(...) ahí da #¿NOMBRE?, y al revés igual. El formato de archivo guarda el nombre inglés, así que los libros guardados viajan bien — lo que se rompe son las fórmulas escritas y pegadas a mano.
7) #¡REF! — el Único Error Que No Se Puede Reparar
Todos los demás errores de esta lista se arreglan editando la fórmula o los datos. #¡REF! no, porque la información que necesitaba ya no está.
Cuando borras una fila, una columna o una hoja, Excel actualiza todas las fórmulas que apuntaban ahí. No hay nada sensato a lo que actualizar esas referencias, así que escribe #¡REF! dentro de la propia fórmula:
=C2*D2 antes de borrar la columna D
=C2*#¡REF! después
La fórmula ha sido reescrita. La referencia original no se recupera, porque ya no existe para ser recuperada — tienes que saber cuál era y volver a escribirla. Ctrl+Z justo después del borrado es el único remedio real, y por eso darse cuenta importa aquí más que en ningún otro sitio.
La otra fuente habitual es una búsqueda que pide una columna que no está en su rango:
=BUSCARV(B2; Tarifario!A:B; 3; FALSO) #¡REF! — el rango tiene dos columnas
BUSCARV es inusualmente bueno generando estos, porque su índice de columna es un número contado desde el borde izquierdo del rango y no hay nada que mantenga a los dos sincronizados. Inserta una columna dentro del rango de búsqueda y el índice apunta en silencio a la columna equivocada — eso ni siquiera te da un #¡REF!, te da una respuesta mal. INDICE/COINCIDIR y BUSCARX evitan toda la categoría al referirse a las columnas como rangos y no como posiciones contadas.
Más vale prevenir. Antes de borrar algo de lo que pueda depender una fórmula, selecciónalo y usa Fórmulas ▸ Rastrear dependientes para ver qué hay aguas abajo. En cualquier cosa compartida, convertir el origen en una Tabla y referirse a ella con referencias estructuradas hace que las columnas insertadas y borradas conserven su significado en vez de su posición.
8) #¡NUM! y #¡NULO! — los Dos Que Salen Poco
#¡NUM! significa que la aritmética es válida pero la respuesta no. La matemática estaba bien formada y sencillamente no hay ningún número al final:
=RAIZ(-4) #¡NUM! — no hay raíz cuadrada real
=FECHA(1899; 12; 31) #¡NUM! — anterior al calendario de Excel
=SIFECHA(B2; A2; "d") #¡NUM! — la fecha final es anterior a la inicial
=TIR(C2:C13) #¡NUM! — sin cambio de signo no existe ninguna tasa
=TASA(360; -1200; 100000) #¡NUM! — no convergió en 20 iteraciones
El caso de SIFECHA es el que sale en el trabajo real, porque casi siempre es un error de orden de argumentos — SIFECHA toma primero la fecha inicial, e intercambiarlas da #¡NUM! en vez de un número negativo. Los casos de TASA y TIR normalmente quieren una estimación: los dos aceptan un argumento final opcional, y =TIR(C2:C13; -0,1) converge muchas veces donde el 0,1 por defecto no.
#¡NULO! significa una intersección vacía, y casi siempre es una errata. El espacio es el operador de intersección de Excel: =SUMA(C2:C13 E2:E13) pide las celdas que esos dos rangos tienen en común, que son ninguna.
=SUMA(C2:C13 E2:E13) #¡NULO! — espacio, que significa "interseca"
=SUMA(C2:C13; E2:E13) correcto — punto y coma, que significa "y"
Si ves #¡NULO!, busca un espacio donde debería haber un separador. Es el más raro de los nueve y hay muy poca cosa más que lo cause.
9) #¡DESBORDAMIENTO! y #¡CALC! — la Pareja Moderna
Estos dos solo existen en Microsoft 365 y Excel 2021 y posteriores, y los dos van de matrices dinámicas.
#¡DESBORDAMIENTO! significa que el resultado no tiene dónde ir. =UNICOS(B2:B13) quiere escribir cinco códigos de socio en cinco celdas hacia abajo. Si hay algo en cualquiera de ellas — un número, un espacio suelto, una celda combinada — la fórmula entera se niega en lugar de sobrescribir:
=UNICOS(B2:B13) #¡DESBORDAMIENTO! — algo está estorbando
Haz clic en la celda, abre el triángulo de aviso y elige Seleccionar celdas obstructivas; Excel resalta exactamente lo que la bloquea. Los culpables habituales son un encabezado viejo, una celda que contiene un solo espacio y una celda combinada en cualquier punto del rango de desbordamiento — las matrices dinámicas y las celdas combinadas no conviven en absoluto.
Hay un segundo #¡DESBORDAMIENTO! más traicionero: una referencia a columna entera dentro de una función que devuelve una matriz del mismo tamaño. =UNICOS(B:B) quiere un millón de filas, que no caben por debajo de la fila 2. Referencia el rango de datos, o la columna de la Tabla, en vez de la columna entera.
#¡CALC! significa que el cálculo produjo algo que Excel no puede poner en celdas, y en la práctica significa una matriz vacía:
=FILTRAR(A2:A13; F2:F13="Devuelto") #¡CALC! — nada tiene ese estado
=FILTRAR(A2:A13; F2:F13="Devuelto"; "ninguno") "ninguno"
Todo FILTRAR que legítimamente pueda no encontrar nada debería llevar el tercer argumento. No es un gestor de errores: es parte de la especificación de qué debe hacer la fórmula cuando la respuesta es "ninguna fila", que para un filtro es un resultado normal y no un fallo.
10) SI.ERROR Es una Venda; SI.ND Es un Bisturí
Esta es la sección de la que iban los 2.952,75.
SI.ERROR(valor; valor_si_error) captura todos los errores que hay. #N/D, #¡VALOR!, #¡REF!, #¿NOMBRE?, #¡DIV/0!, #¡NUM!, #¡NULO!, #¡DESBORDAMIENTO!, #¡CALC! — todos, sustituidos por lo que pongas en el segundo argumento. Es una red muy grande, y los peces que no querías pescar son justo los que importaban.
Mira otra vez la fórmula de la liquidación, y qué le hace cada respaldo a cada problema:
| Escrita como | ORD-4104 (#¡VALOR!) | ORD-4106 (#N/D) | Un futuro #¡REF! |
|---|---|---|---|
=G2*BUSCARX(…) | #¡VALOR! — visible | #N/D — visible | #¡REF! — visible |
=SI.ERROR(G2*BUSCARX(…); 0) | 0 — oculto | 0 — oculto | 0 — oculto |
=SI.ND(G2*BUSCARX(…); 0) | #¡VALOR! — visible | 0 — oculto | #¡REF! — visible |
=G2*BUSCARX(…; 0) | #¡VALOR! — visible | 0 — oculto | #¡REF! — visible |
La fila del medio es la que se envió. Las dos de abajo son las que se deberían haber enviado: el #N/D gestionado a propósito porque estaba previsto, y todo lo demás intacto para que se vea y se arregle.
SI.ND captura #N/D y nada más. Es la herramienta correcta para exactamente un trabajo — una búsqueda donde "no encontrado" es un resultado previsto con una respuesta definida:
=SI.ND(BUSCARX(B2; Tarifario[Código de Socio]; Tarifario[Tasa]); 0)
Si mañana el tarifario pierde una columna, esta fórmula se pone en #¡REF! y alguien lo arregla. La versión con SI.ERROR informa de "sin tasa para este socio" en toda la columna y todo el mundo se lo cree.
El si_no_se_encuentra de BUSCARX es todavía mejor, porque su alcance es la búsqueda y no la expresión entera:
=G2*BUSCARX(B2; Tarifario[Código de Socio]; Tarifario[Tasa]; 0)
Un SI.ND envolviendo la fórmula entera capturaría también un #N/D que llegase desde G2. El cuarto argumento captura solo el fallo de búsqueda propiamente dicho, que es el alcance más estrecho y por tanto el más honesto disponible.
Elige el valor de respaldo con cuidado. 0 es una afirmación sobre dinero. Si no puedes defenderla, no la hagas:
| Respaldo | Dice | Úsalo cuando |
|---|---|---|
0 | "Esto no vale nada" | El cero es de verdad la cifra correcta — una venta que no existe no factura |
"" | "Aquí no hay nada" | La celda alimenta un informe donde un blanco se lee bien |
"Sin tarifa" | "Esto necesita una persona" | Casi siempre la mejor respuesta durante una liquidación |
NOD() | "Desconocido" | La columna se va a promediar o a graficar — mira la sección 11 |
Una columna de comisión con tres celdas que digan Sin tarifa no va a cuadrar con ningún total, y ese es el objetivo: no se puede aprobar sin que alguien mire esas tres filas. La versión que decía 0 se aprobó en cuatro minutos.
Una nota de rendimiento. El patrón antiguo =SI(ESERROR(x); respaldo; x) evalúa x dos veces. SI.ERROR y SI.ND lo evalúan una. En una búsqueda lenta copiada diez mil filas eso es dividir el tiempo por dos, y no hay ninguna razón para escribir la forma antigua en ninguna versión posterior a 2007.
11) Diagnosticar en Vez de Ocultar: Funciones ES, TIPO.DE.ERROR y NOD()
Si el objetivo es una hoja sobre la que alguien pueda actuar, la respuesta no es suprimir los errores sino nombrarlos. Excel te da las herramientas en una línea cada una.
| Función | Devuelve VERDADERO para |
|---|---|
ESERROR(x) | Cualquiera de los nueve |
ESERR(x) | Cualquiera de los nueve excepto #N/D |
ESNOD(x) | Solo #N/D |
Ese ESERR no es una errata de ESERROR: existe precisamente porque #N/D es el raro del grupo, y te deja separar "los datos están incompletos" de "la fórmula está rota" en una sola prueba:
=SI(ESNOD(H2); "Socio no está en el tarifario";
SI(ESERR(H2); "Fallo de fórmula — revisa " & CELDA("direccion"; H2); ""))
Copia eso al lado de la columna de comisión y la hoja deja de ser un muro rojo. Dice Socio no está en el tarifario en la fila 7 y Fallo de fórmula en la fila 5, y quien lo lee sabe cuál de los dos trabajos es el suyo.
TIPO.DE.ERROR nombra el error como número, que es lo que quieres cuando el diagnóstico tiene que ser exacto:
| Error | TIPO.DE.ERROR |
|---|---|
#¡NULO! | 1 |
#¡DIV/0! | 2 |
#¡VALOR! | 3 |
#¡REF! | 4 |
#¿NOMBRE? | 5 |
#¡NUM! | 6 |
#N/D | 7 |
#OBTENIENDO_DATOS | 8 |
#¡DESBORDAMIENTO! | 9 |
#¡CONECTAR! | 10 |
#¡BLOQUEADO! | 11 |
#¡DESCONOCIDO! | 12 |
#¡CAMPO! | 13 |
#¡CALC! | 14 |
TIPO.DE.ERROR sobre una celda sin error devuelve #N/D, lo cual tiene su gracia y es fácil de rodear. Para los siete errores clásicos, del 1 al 7:
=SI(NO(ESERROR(H2)); "ok"; ELEGIR(TIPO.DE.ERROR(H2);
"intersección vacía"; "división entre cero"; "tipo de dato erróneo";
"referencia borrada"; "nombre desconocido"; "número imposible"; "no encontrado"))
Un recuento de qué está mal, para la parte de arriba de la hoja:
=SUMAPRODUCTO(--ESERROR(H2:H13)) 2 — errores totales en la columna de comisión
=SUMAPRODUCTO(--ESNOD(H2:H13)) 1 — de los cuales son búsquedas sin encontrar
Dos celdas arriba de una hoja de liquidación diciendo Errores: 2 y Tarifas que faltan: 1 habrían parado los 5.995,44 antes de que salieran del edificio.
NOD() crea un #N/D a propósito, y hay una situación en la que eso es exactamente lo correcto. Los gráficos se saltan los puntos #N/D y dibujan un hueco; los ceros los pintan como una línea que cae al eje. Una serie mensual donde septiembre todavía no se ha reportado debería decir =NOD(), no 0, o el gráfico enseñará un desplome que no ocurrió:
=SI(D2=""; NOD(); C2*D2)
PROMEDIO también los trata bien al negarse a promediarlos, lo que nos lleva a las agregaciones.
12) Qué Agregaciones Propagan Errores y Cuáles los Ignoran
Un solo error en una columna de doce rompe el total, porque SUMA propaga. Es por diseño, y es más útil que la alternativa — un total que se saltara una fila en silencio sería peor que uno que se niega a calcular. Pero significa que necesitas saber qué funciones hacen qué.
| Función | Con un #¡DIV/0! en el rango |
|---|---|
SUMA, PROMEDIO, MIN, MAX, DESVEST.M | Devuelven el error |
SUBTOTALES(9; …) | Devuelve el error |
AGREGAR(9; 6; …) | Lo ignora — la opción 6 significa "ignorar valores de error" |
CONTAR, CONTARA | CONTARA cuenta la celda con error; CONTAR no |
CONTAR.SI, CONTAR.SI.CONJUNTO, SUMAR.SI, SUMAR.SI.CONJUNTO | Ignoran las celdas con error del rango de criterios |
ESERROR dentro de SUMAPRODUCTO | La manera de contarlos |
AGREGAR es la respuesta limpia cuando necesitas un total de una columna que legítimamente contiene errores:
=AGREGAR(9; 6; H2:H13) suma, ignorando errores
=AGREGAR(1; 6; K2:K13) promedio, ignorando errores
Y aquí es donde SI.ERROR(…; 0) hace su segundo tipo de daño. Pon la comisión por unidad en K2 como =H2/C2 y cópiala hacia abajo. La fila 4 es #¡DIV/0! — un pedido cancelado sin unidades. Tres formas de promediar esa columna:
| Fórmula | Resultado | Qué promedió |
|---|---|---|
=PROMEDIO(K2:K13) | #¡DIV/0! | nada — se negó |
=AGREGAR(1; 6; K2:K13) | 23,81 | los once pedidos que tenían unidades |
=PROMEDIO(SI.ERROR(K2:K13; 0)) | 21,82 | once tasas reales y un cero inventado |
La respuesta del medio es la correcta y la de abajo es plausible, que es lo que la hace peligrosa. SI.ERROR(…; 0) no se saltó el pedido cancelado: lo sustituyó por la afirmación de que ese pedido ganó 0,00 por unidad, y esa afirmación se promedió después como cualquier otro número, arrastrando el resultado un 8% hacia abajo sin nada en pantalla que lo dijera.
De ahí la regla: SI.ERROR a cero es correcto cuando cero es la respuesta, y es incorrecto cuando el valor es desconocido o indefinido. La comisión por unidad de un pedido cancelado es indefinida. Sáltala; no la pongas a cero.
13) Encontrar la Celda Que Se Rompió de Verdad
Los errores se propagan, así que la celda roja que estás mirando normalmente no es la culpable. Cuatro herramientas encuentran el origen, y las cuatro son más rápidas que leer fórmulas.
Rastrear Error (Fórmulas ▸ Comprobación de errores ▸ Rastrear error) dibuja flechas desde la celda con error hacia sus precedentes, en rojo las que llevan el error. En una cadena de tres o cuatro pasos es lo más rápido que hay en Excel.
Evaluar Fórmula (Fórmulas ▸ Evaluar fórmula) recorre el cálculo operación a operación y enseña el valor intermedio en cada paso. Cuando la pantalla cambia a #¡VALOR!, el argumento que se acaba de sustituir es el culpable. Esta es la herramienta para una fórmula anidada larga en la que no sabes cuál de cinco argumentos se torció.
F9 sobre una selección hace lo mismo sin salir de la barra de fórmulas: selecciona cualquier fragmento de una fórmula en modo edición, pulsa F9 y Excel lo sustituye por su valor actual. Pulsa Esc — no Intro — para dejar la fórmula intacta.
Ir a Especial ▸ Fórmulas ▸ Errores (F5 ▸ Especial) selecciona todas las celdas con error de la hoja a la vez, lo que convierte "cuántos hay y dónde" en una sola pulsación. Combínalo con un color de relleno para marcarlos todos antes de empezar a arreglar.
Las reglas de comprobación de errores (Archivo ▸ Opciones ▸ Fórmulas) controlan los triángulos verdes. Dos de ellas merecen conocerse en concreto:
- Números guardados como texto es la regla que habría marcado
D5a la primera. Está activada por defecto y es la más útil de todas. - Fórmulas incoherentes con las demás fórmulas de la región pilla la celda editada a mano en medio de una columna copiada, que es toda una categoría de respuestas erróneas que nunca produce un error.
Y una costumbre más que una herramienta: en cualquier hoja que importe, pon una celda de validación en un sitio visible.
=SI(SUMAPRODUCTO(--ESERROR(G2:H13))=0; "OK"; SUMAPRODUCTO(--ESERROR(G2:H13)) & " errores")
Cuesta una celda y falla en voz alta, que es todo el objetivo de lo anterior.
14) Errores Comunes
SI.ERRORalrededor de una fórmula entera cuando querías decir una búsqueda. Captura el#¡REF!de una columna borrada, el#¿NOMBRE?de un desajuste de versión y el#¡VALOR!de un número de texto, e informa de todos como tu respaldo. UsaSI.ND, o el cuarto argumento deBUSCARX.SI.ERROR(…; 0)en un ratio. El cero es un valor, no una ausencia. Se une a cada media y a cada total de aguas abajo como un número real.SI.ERRORaplicado antes de revisar los datos. Envolver una importación en gestión de errores el primer día significa que nunca te enteras de que una columna llegó como texto.- Dar por hecho que
#N/Des un fallo. Muchas veces es la celda más exacta de la hoja. Añade la fila que falta a la tabla de búsqueda en vez de silenciar la fórmula que te dijo que faltaba. BUSCARVsin el cuarto argumento. La coincidencia aproximada no devuelve#N/Dcuando falla: devuelve un número equivocado. El error que no estás recibiendo es peor que el que sí.- Borrar una columna y no fijarse en el
#¡REF!. Deshacer es el único remedio, y solo en el momento. Comprueba los dependientes antes de borrar nada. - Leer un
#¿NOMBRE?como error tuyo. Si la fórmula funciona en tu equipo y se rompe en el de un compañero, es una diferencia de versión o de idioma, no una errata. Busca el prefijo_xlfn.. - Diferencias con Google Sheets.
SI.ERRORySI.NDexisten y se comportan igual.AGREGARno existe en absoluto, así que un total que ignore errores tiene que serSUMAR.SI,FILTRARoSI.ERRORfila a fila.TIPO.DE.ERRORexiste pero numera los errores de otra manera, y Sheets tiene#¡ERROR!para fallos de análisis sintáctico, que en Excel no tiene equivalente.
Conclusión
Cada valor de error de Excel es una frase, y las nueve frases no son la misma frase. #¡VALOR! dice que un argumento tiene la forma equivocada. #N/D dice que la búsqueda fue honesta. #¡REF! dice que algo se borró y no va a volver. #¡DIV/0! dice que la pregunta no tiene respuesta. Leerlos como "la hoja está rota" tira a la basura la información de diagnóstico más específica que da nunca una hoja de cálculo.
Los 2.952,75 no se perdieron por una fórmula difícil. Se perdieron por una única decisión de hacer que las celdas rojas dejaran de estar rojas, tomada por alguien que casi con seguridad tenía prisa y que no lo vivió como una decisión sobre dinero. SI.ERROR(…; 0) es muy poco que teclear con un radio de destrucción muy grande, y su daño es invisible por construcción — la función entera de un cero es no llamar la atención.
Así que la disciplina es estrecha y merece la pena sostenerla. Gestiona el error que esperabas, en el alcance más pequeño que puedas, con un respaldo que puedas defender en voz alta. El cuarto argumento de BUSCARX antes que SI.ND, SI.ND antes que SI.ERROR, y SI.ERROR solo donde todos los errores que la fórmula pueda lanzar tengan de verdad la misma respuesta — que es mucho más raro de lo que parece. En todo lo demás, deja que la celda se ponga roja y pon al lado una columna de diagnóstico que diga cuál de las nueve cosas salió mal.
Una liquidación que se niega a sumar es una molestia de una tarde. Una liquidación que suma un número equivocado es un socio preguntando por su extracto de septiembre en noviembre, y para entonces ya nadie se acuerda de que la columna estuvo roja.
Si quieres práctica con gestión de errores y búsquedas, prueba los ejercicios de la aplicación — cada escenario funciona con datos de negocio reales, y una fórmula rota ahí no cuesta más que volver a intentarlo.
