Volver al Blog
Celdas Vacías
Excel
CONTARA y CONTAR.BLANCO
ESBLANCO
Calidad de Datos

Celdas Vacías, Ceros y Cadenas Vacías: La Sucursal Media Vendió 44.375. O 35.500. O 29.583.

03/09/2026
Celdas Vacías, Ceros y Cadenas Vacías: La Sucursal Media Vendió 44.375. O 35.500. O 29.583.

Resumen Rápido

Puntos clave de este artículo

  • 📉 Doce sucursales, 355.000,00 de ventas y tres promedios correctos — 44.375,00, 35.500,00, 29.583,33 — con el umbral de bonus de 40.000,00 justo entre los dos primeros
  • 🕳️ Dos columnas que parecen idénticas y suman los mismos 355.000,00: =CONTARA() dice 10 entradas en una y 12 en la otra, porque una fórmula que devuelve "" deja la celda ocupada
  • 🧮 =CONTARA(D2:D13) más =CONTAR.BLANCO(D2:D13) da 14 sobre 12 celdas — las dos funciones aciertan, y las dos celdas contadas dos veces son el tema entero
  • ⚖️ Una celda vacía es igual a 0 y a "" a la vez, cosa que ningún valor real puede hacer; una cadena vacía es igual a "" pero no a 0 — así que =ESBLANCO() y =C2="" discrepan justo en las celdas que te importan
  • 🔎 =BUSCARX(A2;Sucursal;Ventas) devuelve 0,00 para una sucursal que nunca informó, idéntico a la que informó cero, y el argumento si_no_se_encuentra no salta porque la sucursal sí se encontró
  • 🗺️ Un PROMEDIO.SI.CONJUNTO por siete zonas da 18.950,00 en Escocia, 29.750,00 en Gales y #¡DIV/0! en el Este — un cero cuenta, un vacío no, y la nada absoluta da error
Tiempo de lectura: ~23 min

La consolidación de marzo son doce sucursales y 355.000,00 de ventas, y entró en el informe del consejo con una línea debajo: sucursal media, 35.500,00. La hoja del director de zona, hecha con esas mismas doce filas, dice 44.375,00. La versión de finanzas dice 29.583,33.

Nadie escribió un número encima de una fórmula. Las tres son PROMEDIO o algo muy parecido, las tres se defienden, y entre la más alta y la más baja hay 14.791,67. El bonus de sucursal salta en 40.000,00, que cae entre las dos primeras cifras, así que elegir la fórmula es también elegir si la red superó el objetivo o no llegó.

La discrepancia no va de aritmética. Va de dos celdas que están vacías, dos celdas que contienen un cero real, y dos celdas que contienen algo que parece vacío y no lo está. Excel opina distinto sobre esas celdas según qué función preguntes, y ninguna de las diferencias se ve en pantalla.

Qué cubre esto. SUMA, PROMEDIO, CONTAR, CONTARA, CONTAR.BLANCO, ESBLANCO, LARGO, SI, SI.ERROR, CONTAR.SI, PROMEDIO.SI y SUMAPRODUCTO funcionan en todas las versiones de este siglo, y todo lo esencial de aquí está construido con ellas. BUSCARX, LET y PROMEDIO.SI.CONJUNTO requieren una versión más nueva; donde aparece alguna, al lado va el equivalente antiguo.


1) Dos Columnas, Un Total, Dos Recuentos Distintos

La columna C es lo que administración tecleó desde doce correos de sucursal. La columna D es el mismo mes sacado del sistema de caja por una fórmula. Ponlas al lado y son la misma columna dos veces:

FilaSucursalZonaC — tecleadoD — sistema de caja
2CamdenLondres48.20048.200
3SalfordNorte61.45061.450
4LeithEscocia37.90037.900
5Bristol HarbourSuroeste52.30052.300
6Cardiff BayGales29.75029.750
7Newcastle QuayNorte44.60044.600
8Sheffield ParkMidlands39.10039.100
9Nottingham LaceMidlands41.70041.700
10Aberdeen UnionEscocia00
11Plymouth HoeSuroeste00
12Norwich RiversideEste
13Swansea MarinaGales
355.000,00355.000,00

=SUMA(C2:C13) y =SUMA(D2:D13) devuelven las dos 355.000,00. =PROMEDIO(C2:C13) y =PROMEDIO(D2:D13) devuelven los dos 35.500,00. Cada carácter que se ve es idéntico.

Ahora pregunta cuántas entradas tiene cada columna:

FórmulaC — tecleadoD — sistema de caja
=CONTAR(rango)1010
=CONTARA(rango)1012
=CONTAR.BLANCO(rango)22
=SUMAPRODUCTO(--ESBLANCO(rango))20

C12 y C13 están genuinamente vacías — Norwich y Swansea nunca mandaron el correo. D12 y D13 no están vacías en absoluto. La extracción del sistema de caja es =SI.ERROR(BUSCARV(A12;Caja!A:B;2;FALSO);""), no había registro que encontrar, y por eso esas dos celdas contienen una cadena de longitud cero: un valor real, de tipo texto, sin ningún carácter dentro. Ocupa la celda. Simplemente no tiene nada que dibujar.

Un Mes de Ventas por Sucursal, Con Todos los Tipos de Nada Que Puede Contener una Celda

Sucursal en A2:A13, zona en B2:B13, la cifra de ventas que administración tecleó desde el correo de cada sucursal en C2:C13, el mismo mes extraído del sistema de caja en D2:D13, y la desviación frente a un objetivo plano de 40.000,00 en E2:E13. Las columnas C y D suman las dos 355.000,00 y promedian las dos 35.500,00, y en pantalla son idénticas. No lo son. C12 y C13 están genuinamente vacías — Norwich y Swansea nunca mandaron el correo — mientras que D12 y D13 contienen una cadena de longitud cero, porque la extracción del sistema de caja es un =SI.ERROR(...;"") y no había registro que encontrar. Aberdeen Union y Plymouth Hoe son otra cosa distinta: las dos abrieron, las dos no vendieron nada, y las dos tienen un 0 real. La columna E es la trampa hecha visible: cuatro sucursales muestran exactamente −40.000,00, dos porque no vendieron nada y dos porque nadie sabe qué vendieron.

ABCDE
1
Branch
Region
March Sales (keyed)
March Sales (till system)
Variance to 40,000
2
Camden
London
48200
48200
8200
3
Salford
North
61450
61450
21450
4
Leith
Scotland
37900
37900
-2100
5
Bristol Harbour
South West
52300
52300
12300
6
Cardiff Bay
Wales
29750
29750
-10250
7
Newcastle Quay
North
44600
44600
4600
8
Sheffield Park
Midlands
39100
39100
-900
9
Nottingham Lace
Midlands
41700
41700
1700
10
Aberdeen Union
Scotland
0
0
-40000
11
Plymouth Hoe
South West
0
0
-40000
12
Norwich Riverside
East
-40000
13
Swansea Marina
Wales
-40000

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

🎯 Escenario: Antes de fiarte de ningún total en una hoja heredada, pon =CONTAR(), =CONTARA() y =SUMAPRODUCTO(--ESBLANCO()) debajo de cada columna numérica. Tres números, diez segundos, y te dicen con cuál de los cuatro tipos de nada estás tratando antes de que alguien cite un promedio.


2) Tres Promedios, y el Bonus Que Depende de Uno de Ellos

Las tres cifras de la entrada son estas, y las tres son la respuesta correcta a una pregunta distinta:

FórmulaResultadoLa pregunta que responde
=PROMEDIO(C2:C13)35.500,00De las sucursales que informaron, ¿cuánto vendió la media?
=SUMA(C2:C13)/FILAS(C2:C13)29.583,33En toda la red, ¿cuánto vendió una sucursal de media?
=PROMEDIO.SI(C2:C13;">0")44.375,00De las sucursales que de verdad vendieron, ¿cuánto vendió la media?

PROMEDIO se salta las celdas genuinamente vacías y se salta el texto, pero no se salta los ceros. Así que 355.000,00 se divide entre diez: las ocho que vendieron más Aberdeen y Plymouth, que informaron un 0 real. SUMA/FILAS divide entre doce, lo que trata en silencio "no informó" como "no vendió nada". PROMEDIO.SI(...;">0") divide entre ocho y descarta tanto los dos ceros reales como los dos vacíos.

Hay un cuarto, y es el que más veces llega a un informe de consejo, porque las tablas por zona se construyen primero y se promedian después:

ZonaSucursalesPromedio
LondresCamden48.200,00
NorteSalford, Newcastle Quay53.025,00
MidlandsSheffield Park, Nottingham Lace40.400,00
GalesCardiff Bay, Swansea Marina29.750,00
SuroesteBristol Harbour, Plymouth Hoe26.150,00
EscociaLeith, Aberdeen Union18.950,00
EsteNorwich Riverside#¡DIV/0!

Promedia esos seis promedios de zona utilizables y sale 36.079,17 — un quinto número, de los mismos 355.000,00, porque promediar promedios pesa igual una zona de una sucursal que una de dos.

O sea: 44.375,00, 36.079,17, 35.500,00, 29.583,33. El umbral del bonus es 40.000,00. Uno de esos cuatro lo supera.

🎯 Escenario: Escribe el denominador con palabras antes de elegir función — "por sucursal que informó" o "por sucursal que tenemos". Y luego pon =CONTAR() al lado del promedio para que el denominador se vea en la página. Un promedio con su recuento al lado no lo puede rebasar en silencio el siguiente que abra el archivo.


3) Los Cuatro Tipos de Nada

Todo lo de este artículo sale de una tabla pequeña. Una celda que no muestra nada es una de estas cuatro cosas:

Qué hay en la celdaESBLANCO=C2=""=C2=0CONTARCONTARACONTAR.BLANCO
Genuinamente vacíaVERDADEROVERDADEROVERDADEROnono
El número 0, con formato que oculta cerosFALSOFALSOVERDADEROno
Cadena de longitud cero de una fórmulaFALSOVERDADEROFALSOno
Un espacio, o un espacio duro pegado de la webFALSOFALSOFALSOnono

Vuelve a leer la primera fila. Una celda genuinamente vacía es igual a "" y es igual a 0 a la vez. Ningún valor real puede hacer eso: ""=0 es FALSO. Una celda vacía no es un valor en absoluto, así que Excel la convierte a lo que la comparación necesite, y accede en las dos direcciones.

Esa única fila es la razón de que ESBLANCO y =C2="" no sean intercambiables, y de que elegir entre las dos decida si tu comprobación caza dos celdas o cuatro.


4) CONTAR, CONTARA, CONTAR.BLANCO: Dónde Traza la Raya Cada Una

  • CONTAR cuenta números. Texto, vacíos, lógicos y errores se saltan todos. En la columna D devuelve 10 — las ocho que vendieron más dos ceros reales — que es exactamente el denominador que usó PROMEDIO.
  • CONTARA cuenta celdas que no están vacías. Una cadena de longitud cero no está vacía, así que CONTARA la cuenta. En la columna D devuelve 12.
  • CONTAR.BLANCO cuenta celdas vacías y fórmulas que devuelven "". Es comportamiento documentado, no una rareza. En la columna D devuelve 2.
  • ESBLANCO es la estricta. Solo es VERDADERO para una celda que no tiene nada dentro. =SUMAPRODUCTO(--ESBLANCO(D2:D13)) devuelve 0.
  • LARGO devuelve 0 tanto para una celda vacía como para una cadena de longitud cero, y 1 para una celda con un solo espacio — lo que hace de =LARGO(D2)=0 una buena prueba de "no muestra nada" y una mala prueba de "está vacía".

Lo que nos deja la aritmética que da sentido a esta sección:

=CONTARA(D2:D13)       →  12
=CONTAR.BLANCO(D2:D13) →   2
                          ──
                          14  ... sobre un rango de 12 celdas

Las dos funciones se comportan como se diseñaron. D12 y D13 son a la vez "no vacías" y "en blanco", así que cada una la cuenta una vez cada función. En la columna C, donde los huecos son de verdad, esas mismas dos fórmulas dan 10 y 2 y suman 12.

Esa suma es la prueba más rápida que existe. =CONTARA(rango)+CONTAR.BLANCO(rango)-FILAS(rango)*COLUMNAS(rango) devuelve el número de cadenas de longitud cero escondidas en un rango, y devuelve 0 cuando no hay ninguna.

🎯 Escenario: Pon esa única fórmula al pie de cada columna que importes. Es una celda, no necesita columna auxiliar, y un resultado distinto de cero te dice que el rango contiene celdas que pasarán unas comprobaciones y suspenderán otras.


5) De Dónde Salen las Cadenas Vacías

Nadie teclea una cadena de longitud cero. Llegan, y siempre por una de estas vías:

  1. =SI(condición;"";valor) — con diferencia la fuente más común. Se escribe para dejar un informe limpio, y fabrica un valor cuyo trabajo entero es parecer la ausencia de uno.
  2. =SI.ERROR(búsqueda;"") o =SI.ND(búsqueda;"") — de aquí salieron las de la columna D. La búsqueda falló, el envoltorio silenció el #N/D, y lo que puso en su lugar no era nada.
  3. Power Query. Un null cargado a una hoja aterriza como celda genuinamente vacía, pero una columna transformada con Reemplazar valores a "", o construida desde un paso de texto que devuelve resultado vacío, aterriza como cadena de longitud cero.
  4. Exportaciones CSV y de sistema. Dos delimitadores seguidos — ,, — suelen importarse como vacío, pero un campo vacío exportado entre comillas — ,"", — se importa como cadena de longitud cero. El mismo informe del mismo sistema puede hacer las dos cosas en columnas distintas.
  5. Copiar y pegar desde la web o desde un cliente de base de datos, donde "sin valor" se representó como celda vacía en HTML.
  6. Pegado especial → Valores sobre una columna de SI(...;""), que convierte las fórmulas en constantes y conserva las cadenas de longitud cero como constantes. Esta merece saberse: aplanar una hoja no la limpia.

El hilo que recorre las seis es que una cadena de longitud cero es lo que sale cuando algo intentó quedar ordenado. Siempre queda mejor que un #N/D y siempre es peor, porque #N/D se propaga a gritos y "" se propaga en silencio.


6) Una Búsqueda Devuelve 0 Ante una Celda Vacía

El informe de zona no lee la hoja de consolidación directamente. Busca cada sucursal:

=BUSCARX(A2;Consol!$A$2:$A$13;Consol!$C$2:$C$13;"sucursal no encontrada")
=BUSCARV(A2;Consol!$A$2:$C$13;3;FALSO)
=INDICE(Consol!$C$2:$C$13;COINCIDIR(A2;Consol!$A$2:$A$13;0))

Las tres devuelven 0 para Norwich Riverside. Ni vacío, ni error, ni "sucursal no encontrada" — el número cero, con el formato del resto de la columna, en un informe al lado del cero idéntico y completamente real de Aberdeen Union.

Pasan dos cosas, y las dos merecen decirse claro:

Una referencia a una celda vacía devuelve 0. =C12 sobre una C12 vacía da 0,00. Las búsquedas son referencias, así que lo heredan. Vale igual para BUSCARV, BUSCARX, INDICE, DESREF y un simple =Hoja2!A1.

El cuarto argumento de BUSCARX no ayuda. si_no_se_encuentra salta cuando el valor buscado no está en el rango de búsqueda. Norwich está — fila 12, justo donde debe. La búsqueda funcionó perfectamente y devolvió el contenido de una celda vacía. El argumento hace su trabajo; su trabajo simplemente no es este.

El arreglo es comprobar el resultado en vez de la búsqueda, que es para lo que está LET:

=LET(v;BUSCARX(A2;Sucursal;Ventas;"no encontrada");SI(v="";"no informó";v))

Sin LET, lo mismo te cuesta la búsqueda dos veces:

=SI(BUSCARX(A2;Sucursal;Ventas)="";"no informó";BUSCARX(A2;Sucursal;Ventas))

Fíjate en que v="" es VERDADERO tanto para una celda de origen genuinamente vacía como para una cadena de longitud cero, que aquí es justo lo que quieres: las dos significan "sin cifra", vengan de donde vengan. Y no eches mano de =BUSCARX(...)&"" para forzar un resultado que parezca vacío — convierte en texto todas las cifras reales, y la columna deja de sumar.

🎯 Escenario: Toda búsqueda que aterrice en una columna que la gente va a totalizar necesita distinguir tres resultados, no dos: encontré un número, encontré nada, y no encontré la fila. Dos de esos no pueden mostrarse nunca como 0,00, porque 0,00 es una afirmación sobre el negocio.


7) PROMEDIO.SI.CONJUNTO por Zonas: 18.950, 29.750 y #¡DIV/0!

Una fórmula, arrastrada por siete zonas:

=PROMEDIO.SI.CONJUNTO($C$2:$C$13;$B$2:$B$13;H2)
=PROMEDIO.SI($B$2:$B$13;H2;$C$2:$C$13)      (versiones antiguas)

Tres zonas enseñan lo que los tres tipos de nada le hacen a un promedio condicional:

Escocia → 18.950,00. Leith vendió 37.900 y Aberdeen Union informó un 0 real. PROMEDIO.SI.CONJUNTO cuenta el cero, así que el divisor es 2 y el promedio de Escocia es la mitad de la cifra de Leith. Correcto, y aun así se leerá como "Escocia se hunde".

Gales → 29.750,00. Cardiff Bay vendió 29.750 y Swansea Marina está vacía. PROMEDIO.SI.CONJUNTO se salta la celda vacía entera, divisor 1, y el promedio de Gales es exactamente el número de Cardiff. La sucursal que falta no ha dejado ni rastro.

Este → #¡DIV/0!. Norwich Riverside es la única sucursal de la zona y está vacía. No hay celdas numéricas que cumplan, así que no hay entre qué dividir. Este es el único caso que se anuncia solo — y el reflejo es envolverlo en =SI.ERROR(...;0), que convierte la única celda honesta de la tabla en un cero falso que el mes que viene se promediará dentro de la cifra nacional.

Los mismos tres comportamientos, otra vez seguidos: un cero cuenta, un vacío no, y la nada absoluta da error. Si la celda de Swansea hubiera tenido "" en vez de estar vacía, Gales seguiría leyendo 29.750,00 — el texto se salta exactamente igual que un vacío. Y si el cero de Aberdeen se hubiera dejado vacío porque "cero y vacío son lo mismo", Escocia leería 37.900,00 y la red parecería 18.950,00 más sana de lo que está.

🎯 Escenario: Pon =CONTAR() al lado de cada promedio condicional, con los mismos criterios. Escocia con 18.950,00 sobre un recuento de 2 y Gales con 29.750,00 sobre un recuento de 1 cuentan la historia entera de un vistazo; cualquiera de los dos números a solas cuenta una falsa.


8) Aritmética: Uno Se Convierte, el Otro Revienta

Coge la columna de desviación, =C2-40000, arrastrada por las doce filas:

SucursalC=C2-40000
Aberdeen Union0−40.000,00
Plymouth Hoe0−40.000,00
Norwich Riverside(vacía)−40.000,00
Swansea Marina(vacía)−40.000,00

Cuatro sucursales mostrando exactamente −40.000,00, y solo dos se lo han ganado. La columna E de la cuadrícula de arriba es esa columna: los vacíos ya se han convertido en un número, y a partir de ahí nada aguas abajo puede distinguir cuál es cuál. =SUMA(E2:E13) da −125.000,00; la cifra honesta, contra las diez sucursales que sí informaron, es −45.000,00.

Una cadena vacía hace lo contrario:

=D12-40000     →  #¡VALOR!
=D12*1,2       →  #¡VALOR!
=SUMA(D2:D13)  →  355.000,00   (SUMA se salta el texto, así que esta va bien)

Un vacío se convierte en 0 y sigue circulando en silencio. Una cadena de longitud cero es texto, y texto menos número es un error. Ninguno de los dos comportamientos está mal; lo que está mal es esperar uno y recibir el otro.

Por eso la comparación útil no es "cuál es más seguro" sino cuál falla donde lo vas a ver. La cadena vacía al menos se detiene. El vacío produce un número plausible y lo mete en un informe de desviaciones.

El arreglo es el mismo en las dos direcciones — decidir, dentro de la fórmula, qué significa una cifra ausente antes de que la aritmética la toque:

=SI(C2="";"";C2-40000)               dejarla visiblemente ausente
=SI(C2="";NOD();C2-40000)            que toda fórmula posterior lo diga también
=SI(ESBLANCO(C2);NOD();C2-40000)     solo las genuinamente no informadas

La tercera es la precisa. Las dos primeras tratan una cadena de longitud cero real igual que un hueco real, lo que suele ser correcto y a veces no.


9) Gráficos, Tablas Dinámicas, Ordenación y Ctrl+Fin

Fuera de las fórmulas, las dos se comportan otra vez distinto — y aquí es donde una hoja que pasó todas las comprobaciones sigue engañando a alguien.

Gráficos. Seleccionar datos → Celdas ocultas y vacías ofrece Intervalos, Cero y Conectar puntos de datos con línea. Ese ajuste vale solo para celdas genuinamente vacías. Una celda con "" no está vacía, así que se dibuja como cero diga lo que diga el ajuste — una línea que se tira al eje justo los dos meses que nadie informó. La forma fiable de conseguir un hueco es =NOD(), que todos los tipos de gráfico dibujan como corte, al precio de que #N/D aparezca en la celda.

Tablas dinámicas. Las dos salen como (en blanco) en el área de filas, y de ahí viene la falsa confianza. Pero Cuenta cuenta una cadena de longitud cero como elemento y se salta una celda vacía, así que la Cuenta de una dinámica y su Cuenta de números pueden discrepar exactamente en el número de celdas "" que hay debajo.

Ordenación. Las celdas genuinamente vacías se van siempre al final, en ascendente y en descendente — no se ordenan, se empujan al final. Una cadena de longitud cero es texto y se ordena como texto: arriba del todo en un orden descendente, por encima de los números. Ordena una columna que tenga las dos y los dos tipos de nada acaban en extremos opuestos de la hoja.

Ir a Especial → Celdas en blanco. Selecciona solo las genuinamente vacías. Es la herramienta con la que casi todo el mundo busca y rellena los huecos, y es ciega a todas las cadenas de longitud cero del rango — así que una hoja puede estar "revisada de blancos" y seguir llena de ellos.

Ctrl+Fin y tamaño del archivo. El rango usado llega hasta la última celda que contiene algo, y "" cuenta. Una columna de =SI(...;"") arrastrada hasta la fila 50.000 da un libro con 50.000 filas de rango usado, una barra de desplazamiento que llega al horizonte, y un archivo varios megas más grande que su contenido.


10) Decidir Qué Significa Nada, y Luego Escribirlo

Nada de esto se arregla eligiendo mejores funciones, porque la ambigüedad está aguas arriba de la hoja de cálculo. Antes de la fórmula hay una pregunta con respuesta real: ¿la sucursal no vendió nada, o no sabemos cuánto vendió? Son hechos distintos sobre el mundo, y una hoja que los guarda igual ha tirado información que ninguna fórmula puede recuperar.

Así que codifícalos distinto, y a propósito:

El hechoQué va en la celdaPor qué
Abrió, no vendió nada0Es una medición. Le corresponde estar en promedios, recuentos y gráficos.
Aún no ha informadogenuinamente vacíaPROMEDIO y PROMEDIO.SI.CONJUNTO la saltan; CONTAR la excluye del denominador.
No informó, y eso importa=NOD()Se propaga. Todo total construido encima dice #N/D hasta que alguien se ocupe.
No aplica — sucursal sin abriruna marca de texto, p. ej. "n/a"La saltan SUMA y PROMEDIO, la ve quien lee, nunca se convierte en 0.
Sin valor, y tiene que quedar limpiogenuinamente vacía otra vez"" no te compra nada que un formato de número no compre con menos riesgo.

Esa última fila merece el argumento entero. La razón habitual para =SI(A2=0;"";A2) es que una columna de ceros queda fea. Pero Opciones → Avanzadas → Mostrar un cero en celdas que tienen un valor cero, o el formato personalizado #.##0,00;-#.##0,00;"", oculta los ceros sin cambiar lo que hay en la celda. Te llevas el informe limpio y los valores siguen siendo números. El formato es la herramienta correcta para cómo se ve algo; una fórmula que devuelve "" cambia lo que es.

🎯 Escenario: En cualquier hoja que rellene otra gente, añade una columna de estado — Informado / Cero / Pendiente — y basa las comprobaciones en eso en vez de en la forma de la celda de ventas. Cuesta una columna con validación de datos y deja sin ambigüedad todas las fórmulas posteriores, porque dejas de deducir la intención a partir del vacío.


11) Limpiar las Cadenas de Longitud Cero

Has heredado la hoja y la columna D está llena de ellas. CONTARA más CONTAR.BLANCO dio 14. Esta es la ruta que funciona, por orden de preferencia:

1. Arregla el origen. Si la columna todavía son fórmulas, cambia =SI.ERROR(x;"") por =SI.ERROR(x;NOD()) y el problema desaparece de raíz. Todo lo de aguas abajo pasa a mostrar una cifra o a negarse a fingir.

2. Power Query. Si el dato entra por Obtener y transformar, añade un paso Reemplazar valores que cambie "" por null — necesitarás Opciones avanzadas para escribir null — y cada una de ellas aterriza en la hoja como celda genuinamente vacía. Es la única ruta que sigue arreglada cuando el dato se actualiza.

3. Sobre una columna ya aplanada, la secuencia fiable es:

  • En una columna auxiliar, =SI(D2="";NOD();D2), arrastrada hacia abajo.
  • Copia la auxiliar y Pegado especial → Valores sobre sí misma. Los #N/D son ahora constantes, no resultados de fórmula.
  • Selecciona el rango, Ir a Especial → Constantes, desmarca todo menos Errores, y pulsa Supr.
  • Las cadenas de longitud cero son ya celdas genuinamente vacías, y ningún valor real se ha tocado.

Ese cuarto paso es la razón de que la columna auxiliar pase por NOD() y no por algo más amable: Ir a Especial no tiene una opción "selecciona las cadenas de longitud cero", pero sí tiene "selecciona los errores", así que el truco es convertir una cosa en la otra justo el tiempo que se tarda en borrarlas.

Lo que no funciona, y conviene saberlo para no perder veinte minutos: Buscar y reemplazar no puede buscar una cadena de longitud cero, Ir a Especial → Celdas en blanco no las selecciona, y Pegado especial → Valores las conserva perfectamente.


12) Doce Trampas

  1. CONTARA para "cuántas nos han llegado". Cuenta cada "" de cada búsqueda silenciada. Usa CONTAR para números, o SUMAPRODUCTO(--(rango<>"")) para cualquier cosa.
  2. ESBLANCO sobre una columna importada. Casi siempre FALSO, y casi siempre engañosamente. =C2="" es la comprobación que querías.
  3. =SI.ERROR(lo que sea;0). Convierte cada fallo en una medición. SI.ERROR(...;"") es apenas mejor; SI.ND es más estrecha y más segura, porque deja pasar #¡DIV/0! y #¡VALOR! en vez de tragárselos.
  4. Una búsqueda que aterriza en una columna de totales. Una celda de origen vacía devuelve 0,00, y 0,00 suma.
  5. PROMEDIO después de un Quitar duplicados o un filtrar-y-borrar. El denominador se movió y la fórmula no te avisó.
  6. Envolver un #¡DIV/0! de PROMEDIO.SI en SI.ERROR(...;0). El error significaba "sin datos en este grupo", y lo has sustituido por "este grupo promedió cero".
  7. Formato condicional sobre =$C2=0. Resalta también las celdas genuinamente vacías, porque una celda vacía es igual a 0.
  8. La validación de datos y "omitir blancos". Omite las celdas genuinamente vacías; un "" es un valor y se valida.
  9. =A1&B1 para construir una clave. Los vacíos concatenan a nada, así que "Norte" + vacío y vacío + "Norte" producen la misma clave.
  10. Gráficos con =SI(...;"") en la serie. Se dibujan como cero, esté como esté Celdas ocultas y vacías. Usa NOD().
  11. Un espacio final en lugar de una celda vacía. Pasa ESBLANCO como FALSO, suspende =C2="", lo cuenta CONTARA y no CONTAR.BLANCO, y ESPACIOS no lo quita de una celda que solo contiene espacios — devuelve "", que es donde empezaste.
  12. Ctrl+Fin aterrizando en la fila 50.000. Fórmulas arrastradas más allá del dato, devolviendo "". Borra las filas sobrantes enteras — limpiar el contenido no basta — y guarda.

Práctica

Usa la cuadrícula de arriba: sucursal en A, zona en B, la cifra tecleada en C, la extracción del sistema de caja en D, la desviación en E, filas 2 a 13.

  1. Establece la diferencia. Escribe =CONTAR, =CONTARA, =CONTAR.BLANCO y =SUMAPRODUCTO(--ESBLANCO(...)) para C y para D. Después escribe la única fórmula que devuelve el número de cadenas de longitud cero de un rango, y confirma que da 0 en C y 2 en D.
  2. Cuatro promedios. Produce 44.375,00, 36.079,17, 35.500,00 y 29.583,33, cada uno con una fórmula, y etiqueta cada uno con el denominador que usó. Di cuál pondrías al lado de un umbral de bonus de 40.000,00, y por qué.
  3. La igualdad imposible. En tres celdas vacías escribe =C12="", =C12=0 y =C12=D12, y luego las mismas tres contra D12. Explica los dos resultados que difieren.
  4. La búsqueda. Monta un informe pequeño que busque Norwich Riverside y Aberdeen Union. Consigue que muestre 0,00 para una y algo honesto para la otra, sin convertir la columna en texto.
  5. El promedio por zona. Monta el PROMEDIO.SI.CONJUNTO de las siete zonas con un CONTAR al lado. Después pon un 0 en la celda de Swansea Marina y anota qué zonas se mueven, y cuánto.
  6. Límpialo. Convierte D12 y D13 en celdas genuinamente vacías por la ruta de NOD() e Ir a Especial → Constantes → Errores, y confirma después que CONTARA más CONTAR.BLANCO ha vuelto a 12.

Resumen

Una celda que no muestra nada es una de cuatro cosas, y Excel se contradice sobre ellas a propósito. Una celda genuinamente vacía es igual a 0 y a "". Una cadena de longitud cero es igual a "" pero no a 0, la cuenta CONTARA y la cuenta CONTAR.BLANCO, y es invisible para ESBLANCO y para Ir a Especial → Celdas en blanco. Un cero real es una medición y le corresponde estar en el denominador. Un espacio no es ninguna de las anteriores y se parece a todas.

Nada de eso es esotérico, y nada de eso importa hasta que hay que citar un promedio. Entonces decide el número: 44.375,00 o 35.500,00 o 29.583,33, sobre doce filas que suman 355.000,00 en las que todas las fórmulas están de acuerdo.

Así que la versión práctica es corta. Pon =CONTAR() al lado de cada promedio, para que el denominador esté en la página y no en la cabeza de alguien. Pasa =CONTARA(rango)+CONTAR.BLANCO(rango)-FILAS(rango) por todo lo que importes, porque un resultado distinto de cero significa que la mitad de tus comprobaciones mienten. No escribas nunca "" cuando quieras decir "sin valor" — deja la celda en paz y arregla el aspecto con un formato de número. Y guarda "no vendió nada" y "no sabemos" de forma distinta, porque son hechos distintos, y la hoja es el último sitio donde todavía se pueden diferenciar.

La alternativa es este mes: dos sucursales que nunca mandaron el correo, cuatro celdas que dicen −40.000,00, y un bonus que se paga o no según qué fórmula correcta le tocara escribir a alguien.

Comparte este artículo:
Volver al Blog