Volver al Blog
Valores Únicos
Excel
CONTAR.SI
Limpieza de Datos
Informes

Contar valores únicos en Excel con UNICOS y CONTAR.SI

Al Ayuntamiento se le Facturaron 792 Puntos de Recogida Frente a una Ruta que Atiende 713, Porque Quitar Duplicados Contó un Espacio Final como un Segundo Punto y una Celda Vacía como el Setenta y Nueve

01/10/2026
Contar valores únicos en Excel con UNICOS y CONTAR.SI

Resumen Rápido

Puntos clave de este artículo

  • 🧮 **"Único" significa dos cosas distintas y cada una tiene su fórmula.** Valores distintos — cuántos puntos diferentes aparecen — son 713. Valores que aparecen exactamente una vez son 96. `=FILAS(UNICOS(K2:K4320))` responde a la primera, `=SUMAPRODUCTO(--(CONTAR.SI(K2:K4320;K2:K4320)=1))` a la segunda, y una factura montada sobre la equivocada se desvía en 617
  • ␣ **Un espacio al final es un valor distinto para todas las herramientas de Excel.** Quitar duplicados, UNICOS, CONTAR.SI y un Recuento distinto del Modelo de datos dijeron 792, y los cuatro tenían razón: `"BS22-0149 "` no es `"BS22-0149"`. 61 de los 79 puntos fantasma eran una pulsación de espacio en una hoja antigua del depósito
  • 🫥 **UNICOS devuelve la celda vacía como un valor, así que una fila en blanco es un punto facturable.** `=FILAS(UNICOS(C2:C4320))` cuenta la celda vacía como un `0`. Ponle valla: `=FILAS(UNICOS(FILTRAR(K2:K4320;K2:K4320<>"")))`. Una celda vacía se facturó a 31,40 £ al mes durante catorce meses
  • ➗ **La fórmula de antes de 365 se rompe con esa misma celda vacía, y a gritos.** `=SUMAPRODUCTO(1/CONTAR.SI(C2:C4320;C2:C4320))` da `#¡DIV/0!` porque una celda tiene un recuento de cero. `=SUMAPRODUCTO((C2:C4320<>"")/CONTAR.SI(C2:C4320;C2:C4320&""))` es el mismo recuento con las celdas vacías valladas
  • 🔤 **CONTAR.SI y UNICOS no se ponen de acuerdo en qué es "el mismo".** CONTAR.SI pliega mayúsculas y pliega `8821` con `"8821"`; UNICOS pliega mayúsculas y mantiene los tipos separados. En esta columna se diferencian exactamente en 3, y la respuesta correcta depende de si un código de punto es un número — nunca lo es
  • 🔑 **Una sola columna clave pone de acuerdo a todos los métodos.** `=MAYUSC(ESPACIOS(SUSTITUIR(C2;CARACTER(160);" ")))` quita los espacios normales, los de no separación que `ESPACIOS` no ve y el desajuste de tipo — porque `ESPACIOS` devuelve texto. Cuenta esa columna en vez de la original y Quitar duplicados, UNICOS, CONTAR.SI y la tabla dinámica dicen 713
Tiempo de lectura: ~24 min

Thornbury Waste & Recycling hace la recogida de residuos comerciales en North Somerset desde un depósito en Clevedon y una nave satélite en Nailsea. El contrato con el ayuntamiento es sencillo, y su sencillez es toda la historia: 31,40 £ por punto de recogida atendido y mes. Por punto, no por vaciado. Un restaurante que se vacía tres veces por semana es un punto de recogida, igual que un centro social que se vacía una vez al mes.

El parte mensual se monta sobre las hojas de ruta, que llegan con una fila por vaciado. Marzo de 2026 fueron 4.319 filas en una hoja llamada Ruta, con el código de punto en la columna C.

La analista hizo lo que haría cualquiera. Copió la columna C a una hoja aparte. Datos ▸ Herramientas de datos ▸ Quitar duplicados. Una columna marcada. Aceptar.

Se han encontrado y quitado 3.527 valores duplicados. Quedan 792 valores únicos.

792 × 31,40 £ = 24.868,80 £, facturados el 3 de abril y pagados el 2 de mayo.

La ruta atiende 713 puntos de recogida. Lleva dos años atendiendo 713; el número está en una pizarra de la oficina de tráfico de Clevedon.

De Dónde Salieron los Otros Setenta y Nueve

No hubo fraude, ni invención, ni error de fórmula. Setenta y nueve filas donde un punto de recogida real estaba escrito de dos maneras distintas:

  • 61 llevaban un espacio al final. La nave de Nailsea sigue metiendo su hoja de ruta en una aplicación antigua de Access que rellena todos los códigos hasta doce caracteres. BS22-0149 y BS22-0149 son dos textos distintos, y todas las herramientas de Excel te lo dirán.
  • 14 llevaban un espacio de no separación, CARACTER(160), heredado de un portal web del que el equipo comercial copia los puntos nuevos. Se ve exactamente igual que un espacio, no es un espacio, y ESPACIOS no lo quita.
  • 3 estaban guardados como números y no como texto. Tres puntos de una numeración antigua tienen códigos de sólo dígitos, y uno de los dos sistemas de origen los exporta como números. 8821 y "8821" son el mismo código y valores distintos.
  • 1 era una celda vacía. Un vaciado del 14 de marzo se anuló en la acera y la tableta del conductor escribió la fila sin código de punto.

Esa última merece decirse despacio. Una celda vacía se facturó como punto de recogida a 31,40 £ al mes durante catorce meses, y nadie se dio cuenta porque una celda vacía no parece nada.

Lo Que Costó

El equipo de seguimiento de contratos de North Somerset rehizo el parte de marzo contra el registro de puntos del depósito en junio de 2026, dentro de una revisión trienal rutinaria. Recalcularon todos los meses hasta febrero de 2025 — catorce partes, una media de 79 puntos fantasma — y recuperaron 34.728,40 £.

Esa es la parte barata. Las caras fueron una carta del interventor del ayuntamiento, una nota de incumplimiento que se queda en el expediente hasta la nueva licitación de 2028, y once días de una analista financiera reconstruyendo catorce partes mensuales a partir de las hojas de ruta, porque en el libro no había nada que registrara cómo se había obtenido ninguna de las cifras originales. Quitar duplicados no deja rastro: ni fórmula, ni ajustes, ni fecha, ni nada en ninguna celda.

Y aquí está lo que hace que este artículo merezca la pena. Quitar duplicados no hizo nada mal. Hizo exactamente lo que dice. Y lo mismo UNICOS, y CONTAR.SI, y el Recuento distinto del Modelo de datos: los cuatro devuelven 792 en esa columna, y los cuatro son correctos. La pregunta "cuántos valores diferentes hay en esta columna" tiene una respuesta y es 792. La pregunta que hace el contrato es "cuántos puntos de recogida se atendieron", y ninguna herramienta de Excel puede responderla hasta que alguien escriba, en una celda, qué hace que dos códigos sean el mismo código.

Qué cubre esto. CONTARA, CONTAR, CONTAR.SI, CONTAR.SI.CONJUNTO, SUMAPRODUCTO, ESPACIOS, SUSTITUIR, MAYUSC, IGUAL, LARGO y SUMA funcionan en todas las versiones de Excel y en todas las plataformas. UNICOS, FILTRAR, ORDENAR y LET necesitan Microsoft 365 o Excel 2021 — la vía anterior a 365 es la sección 4, y sigue siendo la elección correcta en un libro que otras personas abren con versiones viejas. El Recuento distinto de una tabla dinámica necesita el Modelo de datos: Excel para Windows 2013 o posterior, y no está disponible en Excel para Mac ni en Excel para la web, donde la respuesta es la sección 3 o la 4. El ejemplo es recogida de residuos porque el contrato paga por punto, pero la forma es la misma en toda conciliación de licencias por usuario, todo informe de visitantes únicos y toda pregunta de "cuántos clientes atendimos de verdad" hecha con prisa.


1) La Columna, Contada de Ocho Maneras

Una Columna de Códigos de Punto, Contada de Ocho Maneras

La columna C de la hoja de ruta de marzo de 2026 tiene 4.319 códigos de punto, uno por vaciado, y el contrato paga por punto. Todas las cifras de esta tabla son una respuesta correcta a la pregunta que se les hizo; sólo una responde a la pregunta que hace el contrato. Lee juntas las dos últimas columnas: el método nunca es el problema, y la diferencia entre 792 y 713 son 79 filas donde el mismo punto de recogida está escrito dos veces de maneras que ninguna fórmula puede adivinar, hasta que alguien decide, en una celda, qué hace que dos códigos sean el mismo código.

ABCDEF
1
What got counted
The formula or the tool
March 2026
Billed at £31.40
Against the 713 real sites
Why it reads the way it does
2
Lifts on the round sheet
=COUNTA(C2:C4320)
4,318
£135,585.20
+3,605
It counts rows that are not empty, and 4,318 of the 4,319 are not
3
Rows left after de-duplicating
Data ▸ Remove Duplicates
792
£24,868.80
+79
"BS22-0149 " is not "BS22-0149", and one of the survivors is the blank
4
Distinct values, as stored
=ROWS(UNIQUE(C2:C4320))
792
£24,868.80
+79
Agrees with Remove Duplicates to the row, because both ask the same question
5
Distinct values, trimmed
=ROWS(UNIQUE(TRIM(C2:C4320)))
728
£22,859.20
+15
TRIM clears the 61 ordinary spaces and, by returning text, the 3 codes stored as numbers
6
Distinct values, key column
=ROWS(UNIQUE(K2:K4320))
714
£22,419.60
+1
CHAR(160) substituted out as well — and the empty cell is still a value
7
Distinct values, blanks fenced
=ROWS(UNIQUE(FILTER(K2:K4320,K2:K4320<>"")))
713
£22,388.20
0
The contract figure, and the one the round sheet has always agreed with
8
The pre-365 distinct count
=SUMPRODUCT(1/COUNTIF(C2:C4320,C2:C4320))
#DIV/0!
—
—
One empty cell has a count of zero, and one zero divisor is enough
9
Sites serviced exactly once
=SUMPRODUCT(--(COUNTIF(K2:K4320,K2:K4320)=1))
96
—
−617
A different question wearing the same word

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

Tres cosas de esa tabla merecen decirse en voz alta.

Los métodos están de acuerdo entre ellos. Quitar duplicados y =FILAS(UNICOS(C2:C4320)) dicen 792, fila por fila. No es casualidad ni suerte: implementan la misma comparación. Cuando dos herramientas distintas te dan el mismo número equivocado, el instinto es creerlo. Están de acuerdo sobre los datos, no sobre el contrato.

Cada escalón quita una definición de "el mismo". 792 cuenta textos distintos. 728 cuenta textos distintos una vez apartados los espacios normales y el tipo. 714 añade el espacio de no separación. 713 añade "y un blanco no es un punto". Cada escalón es una decisión que tomó alguien, y la cifra sólo es defendible porque las decisiones están en celdas donde un auditor puede leerlas.

La última fila no está en la escalera. 96 es el número de puntos atendidos exactamente una vez en marzo — algo perfectamente razonable de querer, calculado con la misma función, descrito con la misma palabra, y a 617 de la respuesta.

🎯 Escenario: Antes de contar nada, pon dos celdas juntas: =FILAS(C2:C4320) y =CONTARA(C2:C4320). En esta hoja dicen 4.319 y 4.318. Esa diferencia de una fila son todas las celdas vacías de la columna, y es el aviso más barato de este artículo.


2) "Único" Significa Dos Cosas Distintas

Esta es la primera bifurcación, y casi todos los números equivocados del mundo están río abajo de ella.

Con la columna A, B, B, C, C, C:

PreguntaRespuestaFórmula
¿Cuántos valores diferentes? (recuento distinto)3=FILAS(UNICOS(A2:A7))
¿Cuántos valores aparecen exactamente una vez?1=SUMAPRODUCTO(--(CONTAR.SI(A2:A7;A2:A7)=1))

Las dos son "valores únicos" en lenguaje corriente. Sólo una es lo que significa un contrato por punto, un recuento de licencias por usuario o un número de clientes distintos.

La segunda tiene sus usos y son reales: piezas pedidas una sola vez en todo el año, pacientes vistos una única vez, el caso de prueba que se ejecutó una vez. También es la fórmula a la que se recurre cuando uno recuerda CONTAR.SI a medias, y te dará calladamente un número que parece plausible — 96 es un número creíble de puntos, hasta el momento en que alguien lo multiplica por 31,40 £.

Di cuál de las dos quieres en la celda de al lado. Una etiqueta no es decoración. Puntos distintos atendidos y Puntos atendidos una sola vez son cinco palabras que habrían terminado esta historia entera en abril de 2025.

🎯 Escenario: Pon las dos fórmulas en la hoja, siempre, con etiqueta. Si salen parecidas, tus datos repiten poco. Si una da 713 y la otra 96, acabas de aprender algo de la ruta además de algo de la fórmula.


3) UNICOS, y el Blanco Que Vuelve Convertido en Valor

UNICOS devuelve la lista; tú cuentas la lista.

=FILAS(UNICOS(C2:C4320))        el número de valores distintos
=UNICOS(C2:C4320)               los valores, derramados
=ORDENAR(UNICOS(C2:C4320))      lo mismo, en orden, para mirarlo

Usa FILAS, no CONTARA. CONTARA(UNICOS(...)) da aquí la misma respuesta por casualidad, y da otra distinta en cuanto la lista derramada contiene una cadena vacía, porque CONTARA cuenta "" y FILAS cuenta filas. Una función que siempre cuenta la lista es mejor que dos que a veces lo hacen.

La trampa es el blanco. UNICOS sobre un rango con celdas vacías devuelve 0 por ellas — un cero, en la lista, como valor. Así que =FILAS(UNICOS(C2:C4320)) da 792 donde los códigos distintos son 791, y el extra es una celda vacía ascendida a punto de recogida.

La valla es FILTRAR:

=FILAS(UNICOS(FILTRAR(C2:C4320;C2:C4320<>"")))

Dos cosas que saber de esa expresión. FILTRAR devuelve #¡CALC! cuando no pasa nada la prueba — una columna entera vacía te da un error en vez de un cero, lo cual es correcto y poco útil en un panel, así que envuélvelo donde el cero sea la respuesta sensata:

=SI.ERROR(FILAS(UNICOS(FILTRAR(K2:K4320;K2:K4320<>"")));0)

Y UNICOS también funciona por filas, si tus datos van del otro lado: =COLUMNAS(UNICOS(C2:Z2;VERDADERO)). El segundo argumento le dice que compare columnas, y entonces cuentas columnas.

Si cuentas valores distintos de una columna entera de una Tabla, deja que la Tabla lleve el rango — =FILAS(UNICOS(FILTRAR(Ruta[Punto];Ruta[Punto]<>""))) crece por su cuenta, y un rango que crece solo es un motivo menos para que la cifra del mes que viene esté mal.

🎯 Escenario: Sobre tus propios datos, pon =FILAS(UNICOS(C2:C4320)) y =FILAS(UNICOS(FILTRAR(C2:C4320;C2:C4320<>""))) una al lado de la otra. Si difieren, la diferencia es 1, y ese 1 es un blanco contado como cosa.


4) La Fórmula para Todos los Que No Tienen UNICOS

UNICOS llegó con las matrices dinámicas. En Excel 2019, 2016 y en cualquier libro que alguien abra con una versión vieja en casa de un cliente, la fórmula es esta, y lo es desde los años noventa:

=SUMAPRODUCTO(1/CONTAR.SI(C2:C4320;C2:C4320))

Por qué funciona, que merece entenderse en vez de copiarse. CONTAR.SI(rango;rango) devuelve una matriz de la altura del rango con, para cada celda, el número de veces que aparece el valor de esa celda. Un valor que aparece tres veces aporta 1/3 tres veces, que es 1. Un valor que aparece una vez aporta 1/1 una vez, que es 1. Cada valor distinto aporta exactamente 1 por muchas veces que salga, y la suma es el recuento distinto.

Por qué se rompió aquí. Una celda vacía tiene un CONTAR.SI de 0, 1/0 es #¡DIV/0!, y un solo #¡DIV/0! en una matriz envenena la suma entera. Ese es el error de la fila 8 de la tabla, y es la razón de que la analista dejara de usar la fórmula y se fuera a Quitar duplicados: la fórmula dijo la verdad de una manera que parecía una avería.

El arreglo consiste en vallar los blancos arriba y abajo de la fracción a la vez:

=SUMAPRODUCTO((C2:C4320<>"")/CONTAR.SI(C2:C4320;C2:C4320&""))

El numerador es 0 en una fila vacía, así que las filas vacías no aportan nada. El &"" del criterio convierte el criterio del blanco en una cadena vacía, que CONTAR.SI sí puede contar, así que el divisor nunca es cero y nunca produce el error que el numerador iba a descartar de todos modos.

Lo que cuesta. Esta fórmula compara cada celda con todas las demás: 4.319 filas son 18,6 millones de comparaciones, que Excel hace sin pestañear. 200.000 filas son 40.000 millones, que no. Pasadas unas 20.000 filas, lleva el cálculo a una columna clave más UNICOS, o a una tabla dinámica del Modelo de datos — sección 7 — en vez de esperar un recálculo que se puede cronometrar con un hervidor.

🎯 Escenario: Coge cualquier columna que ya hayas contado con UNICOS y pásale la forma con SUMAPRODUCTO al mismo rango. Cuando las dos discrepen, has encontrado una diferencia de tipo o de mayúsculas, y la sección 5 dice cuál.


5) Qué Considera CONTAR.SI Que Es el Mismo Valor

Las dos familias de fórmulas no definen "el mismo" igual, y en esta columna se diferencian exactamente en 3. La diferencia no es un fallo de ninguna; es una propiedad de CONTAR.SI que resulta útil la mitad de las veces y peligrosa la otra mitad.

CONTAR.SI pliega los números y el texto que parece número. CONTAR.SI(rango;"8821") encuentra el número 8821 igual que el texto "8821". Así que la forma con SUMAPRODUCTO trata los tres códigos guardados como número como el mismo valor que sus gemelos de texto, y devuelve 788 frente a los 791 de UNICOS en la columna original. Para un código de punto, CONTAR.SI acierta por accidente y UNICOS acierta literalmente. Para una columna donde "0049" y 49 son cosas de verdad distintas — un código de producto, un código de sucursal, un centro de coste — CONTAR.SI se equivoca en silencio y no lo dirá.

Las dos pliegan las mayúsculas. "bs22-0149" y "BS22-0149" son un solo valor para CONTAR.SI, para UNICOS, para Quitar duplicados y para un Recuento distinto del Modelo de datos. Excel pliega mayúsculas en casi todas partes, y por eso ninguno de los 79 fantasmas de aquí era una diferencia de capitalización: los dos sistemas de origen discrepan en mayúsculas constantemente y no le ha costado un penique a nadie.

Si de verdad necesitas un recuento distinto sensible a mayúsculas — distinguir "ab" de "AB", que importa en hashes, códigos de barras con dígito de control y algunas referencias bancarias — IGUAL es la única comparación de Excel que ve las mayúsculas. Cuenta primeras apariciones con un rango que se expande:

L2:  =SI(SUMAPRODUCTO(--IGUAL($C$2:C2;C2))=1;1;0)      arrastra hacia abajo
     =SUMA(L2:L4320)                                    recuento distinto con mayúsculas

CONTAR.SI lee comodines en su criterio. Un valor con * o ? es un patrón, no una cadena, así que GATO* encuentra GATOS y el recuento sale alto. Escápalos con una virgulilla — SUSTITUIR(SUSTITUIR(C2;"~";"~~");"*";"~*") — o no uses CONTAR.SI en columnas que los contengan. UNICOS no tiene comodines ni ese problema.

El criterio de CONTAR.SI se corta a los 255 caracteres. El texto más largo devuelve #¡VALOR!. Los campos de texto libre, los asuntos de correo y las URL pegadas llegan ahí, y el error es el buen desenlace: el malo es una comparación truncada que no notas. Donde los valores sean largos, cuenta distintos con UNICOS, o usa como clave un extracto más corto.

Ninguna de las dos ignora los espacios. Eso es la sección 9, y es la que costó 34.728,40 £.

🎯 Escenario: En una celda libre, =CONTAR(C2:C4320) sobre una columna de identificadores. CONTAR sólo cuenta números, así que en una columna de códigos tiene que dar 0. Aquí dice 3, y esos 3 son toda la discrepancia entre tus dos fórmulas.


6) Quitar Duplicados Es una Edición, No un Recuento

Quitar duplicados borra filas. Es una operación sobre los datos que de paso muestra un recuento, y el recuento era lo único que alguien quería.

Tres consecuencias, y las tres pasaron aquí.

Destruye lo que contó. La copia de la columna C en la hoja aparte pasó de 4.319 filas a 792 y las filas originales ya no están. En una copia eso es inofensivo. Hazlo sobre la hoja de ruta — que alguien lo hará, con prisa, algún día — y los vaciados, las fechas, los pesos y los números de vehículo de esas 3.527 filas se van con ellas, con sólo un Ctrl+Z entre tú y una reconstrucción.

Compara sólo las columnas que marcas, y conserva la primera fila que encuentra. Marca sólo Punto y la fila que sobrevive se queda con la fecha y el peso del primer vaciado de ese punto, el que fuera. Nada en esa fila está mal, y nada en ella es representativo tampoco.

No deja registro. El número 792 existió en un cuadro de diálogo durante cuatro segundos. Nada en el libro dice qué columna se deduplicó, si estaba marcada la casilla de encabezado, ni cuándo. Catorce cifras mensuales se produjeron así, y la reconstrucción de junio tuvo que empezar por las hojas de ruta, porque los partes no contenían ningún cálculo.

Si lo que quieres es la lista y no el recuento, y la quieres sin destruir nada, eso es Datos ▸ Filtro avanzado ▸ Sólo registros únicos, con Copiar a otro lugar marcado. Escribe los valores distintos en otro sitio y deja el origen intacto — la misma respuesta que UNICOS, disponible en todas las versiones, y sigue siendo una operación de una vez que no registra nada de sí misma.

🎯 Escenario: Donde se informe un recuento deduplicado cada mes, sustituye la herramienta por una fórmula en una celda, aunque la fórmula sea más larga. Un número que puedes volver a obtener en junio es un número; un número que alguien leyó en un cuadro de diálogo en abril es una anécdota.


7) El Recuento de la Tabla Dinámica No Es un Recuento Distinto

Arrastra el campo Punto al área de Valores y Excel ofrece Cuenta de Punto, que cuenta filas: 4.318 — la misma cifra que CONTARA, porque es la misma pregunta. Nada en la caché normal de una tabla dinámica cuenta valores distintos, y muchísimas cifras de "clientes únicos" de muchísimos informes mensuales son este número.

El Recuento distinto existe, y necesita el Modelo de datos. Monta la dinámica con Insertar ▸ Tabla dinámica y marca Agregar estos datos al Modelo de datos; luego, en Configuración de campo de valor, baja al final de la lista de resúmenes, más allá de Cuenta, Promedio y Desvest, hasta Recuento distinto. Sobre la columna C informa 792, que es el recuento distinto correcto de lo que esa columna contiene, y sobre una columna clave limpia informa 713.

Es la vía más rápida con diferencia cuando los datos son grandes — cuenta distintos en el motor en vez de comparar 18 millones de pares de celdas en la hoja — y desglosa un recuento distinto por depósito, por mes o por vehículo sin otra fórmula. Los costes son reales y conviene conocerlos antes de montar un informe encima: el Recuento distinto es Excel para Windows 2013 o posterior, no está en Excel para Mac ni en Excel para la web, una dinámica del Modelo de datos no se deja usar con IMPORTARDATOSDINAMICOS con tanta libertad como una normal, y el modelo se guarda dentro del libro, que engorda.

Los subtotales no cuadran, y es correcto. Un recuento distinto de puntos por depósito da 509 a Clevedon y 213 a Nailsea, que suman 722 frente a un total general de 713. Nueve puntos los atienden los dos depósitos, y un recuento distinto cuenta cada uno una vez en la fila de cada depósito y una vez en el total. Todos los informes de recuento distinto del mundo tienen esta propiedad, todos los lectores acaban viéndola, y la única defensa es una línea de texto debajo de la tabla que lo diga.

🎯 Escenario: Si en un informe mensual aparecen las palabras "único" o "distinto", abre la dinámica y mira la Configuración de campo de valor. Si dice Cuenta, el número ha estado mal todo el tiempo que lleva existiendo el informe.


8) Recuentos Únicos por Grupo

La pregunta casi nunca es "cuántos puntos distintos" a secas. Es puntos distintos por depósito, por mes, por vehículo, por contrato.

Con matrices dinámicas, mete la prueba de grupo dentro de FILTRAR:

=FILAS(UNICOS(FILTRAR($K$2:$K$4320;($D$2:$D$4320=H2)*($K$2:$K$4320<>""))))

El * es Y — multiplica las condiciones, no intentes usar Y, que colapsa una matriz en un único VERDADERO. H2 lleva el nombre del depósito, así que la fórmula se arrastra por una tablita de depósitos. Para el desglose entero en una celda, =UNICOS(D2:D4320) derrama la lista de depósitos al lado.

Sin matrices dinámicas, la idea de CONTAR.SI se extiende a CONTAR.SI.CONJUNTO:

=SUMAPRODUCTO(($D$2:$D$4320=H2)/CONTAR.SI.CONJUNTO($D$2:$D$4320;$D$2:$D$4320&"";$K$2:$K$4320;$K$2:$K$4320&""))

El divisor cuenta ahora cada combinación de depósito y punto, así que un punto atendido cuatro veces desde Clevedon aporta 1/4 cuatro veces y el depósito se queda con un punto. Las filas de otros depósitos tienen numerador 0 y caen. El &"" de los dos criterios hace el mismo trabajo de vallar blancos que antes.

Un aviso sobre cómo leer el resultado. Como en la sección 7, los recuentos distintos por grupo no suman el recuento distinto total salvo que cada valor pertenezca exactamente a un grupo. Aquí suman 722 frente a 713. Si alguien tiene que cuadrar esos dos números con prisa, dará por hecho que uno está mal.

🎯 Escenario: Monta la tabla de depósitos con UNICOS derramando los grupos y la fórmula de arriba al lado; luego pon =SUMA(...) debajo y =FILAS(UNICOS(FILTRAR(K;K<>""))) al lado. Etiqueta la diferencia como "puntos en dos rutas" en vez de esperar a que te pregunten.


9) La Columna Clave, Que Es la Respuesta de Verdad

Todas las secciones anteriores cuentan lo que hay en las celdas. Esta es la sección donde alguien decide qué es un código de punto.

Una expresión, en una columna auxiliar, basta para los cuatro problemas de esta columna:

K2:  =MAYUSC(ESPACIOS(SUSTITUIR(C2;CARACTER(160);" ")))

Leyéndola de dentro hacia fuera:

  • SUSTITUIR(C2;CARACTER(160);" ") convierte los espacios de no separación en espacios normales. CARACTER(160) es lo que trae consigo una copia desde una página web; se dibuja idéntico a un espacio en todas las fuentes que trae Excel, y ESPACIOS no lo toca. Eran 14 de los 79. LIMPIAR tampoco lo toca: LIMPIAR quita los caracteres del 0 al 31, y el 160 no está entre ellos.
  • ESPACIOS quita los espacios del principio y del final y reduce los interiores a uno. Eran 61 de los 79. Además, de paso, devuelve texto — así que los tres códigos guardados como números salen como texto y dejan de ser un valor aparte. Es un efecto secundario que conviene conocer en los dos sentidos: ESPACIOS sobre una columna de números de verdad los convierte en texto y tu SUMA se va a cero.
  • MAYUSC es cinturón y tirantes. Todos los métodos de este artículo ya pliegan mayúsculas, así que no cambia nada — pero hace explícita la intención, y protege la columna si alguien la cuenta más adelante con una comparación IGUAL sensible a mayúsculas o la exporta a un sistema al que sí le importe.

Luego cuenta la columna clave, no la C, con el método que encaje con tu versión:

=FILAS(UNICOS(FILTRAR(K2:K4320;K2:K4320<>"")))                 365 / 2021       → 713
=SUMAPRODUCTO((K2:K4320<>"")/CONTAR.SI(K2:K4320;K2:K4320&""))  cualquiera       → 713
Dinámica del Modelo de datos, Recuento distinto de Clave       Windows 2013+    → 713

Los tres coinciden, porque por fin se les hizo la misma pregunta.

Dos notas sobre su uso. Un LET lo deja en una sola celda si prefieres no añadir columna: =LET(k;MAYUSC(ESPACIOS(SUSTITUIR(C2:C4320;CARACTER(160);" ")));FILAS(UNICOS(FILTRAR(k;k<>"")))). Y no normalices en silencio: una columna clave que junta calladamente dos códigos es el mismo fallo en la otra dirección. Pon al lado un recuento de lo que cambió: =SUMAPRODUCTO(--(C2:C4320<>K2:K4320)) dice 78 en esta hoja, y 78 es un número que alguien debería tener que aprobar.

🎯 Escenario: Añade la columna clave a la hoja desde la que informas este mes, y pon =SUMAPRODUCTO(--(C2:C4320<>K2:K4320)) en la celda de encima. Cualquier cosa distinta de 0 es el tamaño del problema que llevas contando desde que existe el informe.


10) Parejas Distintas de Dos Columnas

"Cuántos punto-día atendimos" es un recuento distinto sobre dos columnas a la vez, y la vía evidente es una clave concatenada:

=FILAS(UNICOS(K2:K4320&"|"&TEXTO(E2:E4320;"aaaa-mm-dd")))

Funciona, y tiene un modo de fallo que hay que descartar: si el separador puede aparecer dentro de alguno de los valores, dos parejas distintas pueden producir una sola clave. A|B con C y A con B|C son los dos A|B|C. Elige un carácter que los datos no puedan contener, y compruébalo: =SUMAPRODUCTO(--ESNUMERO(ENCONTRAR("|";K2:K4320))) tiene que dar 0.

Con matrices dinámicas no hace falta la clave. UNICOS sobre un rango de dos columnas devuelve filas distintas:

=FILAS(UNICOS(D2:E4320))             parejas distintas de depósito y fecha, directamente

Sin separador, sin TEXTO, sin colisión: compara la fila como fila. Es también la manera honesta de contar clientes distintos cuando la identidad es una combinación: nombre más código postal, proyecto más cliente, pieza más revisión.

Y fíjate en lo que hace TEXTO en la primera fórmula: una columna de fechas que arrastre hora hará que cada vaciado sea su propio día distinto. TEXTO(...;"aaaa-mm-dd") o ENTERO lo aplanan. Una marca de tiempo escondida en una columna de fechas es uno de los motivos más frecuentes de que un recuento distinto salga sospechosamente cerca del número de filas.

🎯 Escenario: Cuenta punto-días de las dos maneras sobre tus propios datos: clave concatenada y UNICOS de dos columnas. Si difieren, tu separador aparece en los datos, y la forma de dos columnas es la que acierta.


11) Siete Comprobaciones de una Celda

Ponlas en la hoja, no en tu cabeza. Cada una es una celda, y cada una pilla uno de los setenta y nueve.

  1. ¿Hay blancos? =FILAS(C2:C4320)-CONTARA(C2:C4320) → 1. Cualquier cosa distinta de cero significa que un blanco está a punto de convertirse en valor.
  2. ¿Hay espacios sueltos? =SUMAPRODUCTO(--(C2:C4320<>ESPACIOS(C2:C4320))) → 61. Filas cuyo texto cambia al recortarlo.
  3. ¿Hay espacios de no separación? =SUMAPRODUCTO(--ESNUMERO(ENCONTRAR(CARACTER(160);C2:C4320&""))) → 14. Los que ESPACIOS no ve.
  4. ¿Hay números entre los códigos? =CONTAR(C2:C4320) → 3. En una columna de identificadores tiene que ser 0.
  5. ¿Coinciden las dos familias de fórmulas? =FILAS(UNICOS(FILTRAR(K2:K4320;K2:K4320<>""))) contra =SUMAPRODUCTO((K2:K4320<>"")/CONTAR.SI(K2:K4320;K2:K4320&"")). Iguales significa que no quedan sorpresas de tipo ni de comodines.
  6. ¿Cuánto cambió la normalización? =SUMAPRODUCTO(--(C2:C4320<>K2:K4320)) → 78. El número que alguien firma.
  7. ¿Cuadra la factura? =FILAS(UNICOS(FILTRAR(K2:K4320;K2:K4320<>"")))*31,4 → 22.388,20 £, contra la cifra de la factura. Si esta celda hubiera existido en abril de 2025, las otras seis no habrían hecho falta nunca.

🎯 Escenario: Tres de ellas — la 1, la 2 y la 7 — se añaden en noventa segundos a un informe que ya haces. Pásalas por las cifras del mes pasado antes de pasarlas por las de este.


12) Doce Trampas

  1. "Único" significa valores distintos para una persona y aparece-una-sola-vez para otra. 713 y 96 de la misma columna. Etiqueta la celda.
  2. Un espacio al final es un valor distinto. Para Quitar duplicados, UNICOS, CONTAR.SI y el Recuento distinto por igual. Primero ESPACIOS, después contar.
  3. ESPACIOS no quita CARACTER(160). El espacio de no separación que sale de toda página web y todo PDF le sobrevive. Quítalo con SUSTITUIR explícitamente.
  4. UNICOS devuelve una celda vacía como 0, así que una fila en blanco se vuelve un valor distinto. Ponle valla con FILTRAR.
  5. SUMAPRODUCTO(1/CONTAR.SI(...)) da #¡DIV/0! si una celda está vacía. Usa la forma (rango<>"")/CONTAR.SI(rango;rango&""), que lo resuelve en los dos lados de la fracción.
  6. CONTAR.SI pliega 8821 con "8821" y UNICOS no. Las dos dan recuentos distintos diferentes en columnas de tipo mezclado, y cuál acierta depende de tus datos, no de Excel.
  7. El criterio de CONTAR.SI lee comodines. Un valor con * o ? encuentra más que a sí mismo. Escápalo con ~, o cuenta con UNICOS.
  8. El criterio de CONTAR.SI se corta a los 255 caracteres. El texto largo da #¡VALOR! en el mejor caso.
  9. Todo pliega mayúsculas menos IGUAL. Si "ab" y "AB" tienen que contar como dos, monta el recuento sobre IGUAL; si no, deja de preocuparte por las mayúsculas del todo.
  10. La Cuenta de un campo en una dinámica es un recuento de filas. El Recuento distinto necesita el Modelo de datos, y es sólo de Windows.
  11. Los recuentos distintos por grupo no suman el total. 509 + 213 = 722 frente a 713, porque nueve puntos están en dos rutas. Dilo debajo de la tabla.
  12. Quitar duplicados borra filas y no registra nada. Es una edición con un recuento en la esquina, y el recuento desaparece cuatro segundos después.

Thornbury sigue contando sus puntos de recogida en Excel, y sigue contándolos cada mes, y el parte sigue yendo al ayuntamiento como una hoja de cálculo.

Lo que cambió en Ruta son tres celdas y una columna. La columna K lleva =MAYUSC(ESPACIOS(SUSTITUIR(C2;CARACTER(160);" "))). Encima del encabezado están el recuento distinto, el número de filas que la columna clave modificó y el cuadre de la factura — 713, 78, 22.388,20 £ — cada uno con una etiqueta que un técnico del ayuntamiento puede leer sin que nadie se la explique. La cifra de la pizarra de la oficina de tráfico está en una cuarta celda, escrita a mano, y una quinta dice si las dos coinciden.

La lección general no es sobre una función. Es que un recuento distinto es una definición antes que un cálculo, y Excel nunca te va a pedir la definición. Cogerá una columna, comparará los valores exactamente como están guardados y te dará un número seguro de sí mismo — 792, correcto, defendible, y a 79 puntos de recogida de lo que dice el contrato. Quitar duplicados no se equivocó el 3 de abril de 2025. Nunca se le hizo la pregunta, porque nadie la había escrito.

Comparte este artículo:
Volver al Blog