Tabla de contenido
El tutorial muestra cómo obtener valores únicos en Excel utilizando la función UNIQUE y matrices dinámicas. Aprenderá una fórmula sencilla para encontrar valores únicos en una columna o fila, en varias columnas, basándose en condiciones, y mucho más.
En las versiones anteriores de Excel, extraer una lista de valores únicos era un reto difícil. Tenemos un artículo especial que muestra cómo encontrar valores únicos que aparecen sólo una vez, extraer todos los elementos distintos de una lista, ignorar los espacios en blanco, etc. Cada tarea requería el uso combinado de varias funciones y una fórmula de matriz de varias líneas que sólo los gurús de Excel pueden entender completamente.
La introducción de la función ÚNICA en Excel 365 lo ha cambiado todo. Lo que antes era una ciencia de cohetes se convierte en algo tan fácil como el abecedario. Ahora, no hace falta ser un experto en fórmulas para obtener valores únicos de un rango, basándose en uno o varios criterios, y ordenar los resultados por orden alfabético. Todo se hace con fórmulas sencillas que todo el mundo puede leer y ajustar a sus propias necesidades.
Función UNIQUE de Excel
La función UNIQUE de Excel devuelve una lista de valores únicos de un rango o matriz. Funciona con cualquier tipo de datos: texto, números, fechas, horas, etc.
El resultado es una matriz dinámica que se extiende automáticamente a las celdas vecinas en sentido vertical u horizontal.
La sintaxis de la función UNIQUE de Excel es la siguiente:
UNIQUE(matriz, [por_col], [exactamente_una vez])Dónde:
Matriz (obligatorio) - el rango o matriz a partir del cual devolver valores únicos.
By_col (opcional) - un valor lógico que indica cómo comparar los datos:
- TRUE - compara los datos entre columnas.
- FALSE u omitido (por defecto) - compara los datos entre filas.
Exactamente_una vez (opcional) - un valor lógico que define qué valores se consideran únicos:
- TRUE - devuelve valores que sólo aparecen una vez, que es la noción de base de datos de único.
- FALSE u omitido (por defecto) - devuelve todos los valores distintos (diferentes) del rango o matriz.
Nota. Actualmente, la función ÚNICA solo está disponible en Excel para Microsoft 365 y Excel 2021. Excel 2019, 2016 y versiones anteriores no admiten fórmulas de matrices dinámicas, por lo que la función ÚNICA no está disponible en estas versiones.
Fórmula básica UNIQUE en Excel
A continuación se muestra una fórmula de valores únicos de Excel en su forma más simple.
El objetivo es extraer una lista de nombres únicos del rango B2:B10. Para ello, introducimos la siguiente fórmula en D2:
=ÚNICO(B2:B10)
Observe que los argumentos 2º y 3º se omiten porque los predeterminados funcionan perfectamente en nuestro caso - estamos comparando las filas entre sí y deseamos devolver todos los nombres diferentes del rango.
Al pulsar la tecla Intro para completar la fórmula, Excel mostrará el primer nombre encontrado en D2 derramando los demás nombres en las celdas inferiores. Como resultado, tendrá todos los valores únicos en una columna:
En caso de que sus datos se encuentren en las columnas de B2 a I2, establezca el segundo argumento en TRUE para comparar las columnas entre sí:
=ÚNICO(B2:I2,VERDADERO)
Escribe la fórmula anterior en B4, pulsa Intro , y los resultados se derramarán horizontalmente en las celdas de la derecha. Así, obtendrás los valores únicos en una fila:
Sugerencia: para encontrar valores únicos en matrices de varias columnas y devolverlos en una columna o fila, utilice UNIQUE junto con la función TOCOL o TOROW, como se muestra en los ejemplos siguientes:
- Extraer valores únicos de un rango de varias columnas en una columna
- Extraer valores únicos de un rango de varias columnas en una fila
Función UNIQUE de Excel - consejos y notas
UNIQUE es una función nueva y, al igual que otras funciones de matriz dinámica, tiene algunas particularidades que debes conocer:
- Si la matriz devuelta por UNIQUE es el resultado final (es decir, no se pasa a otra función), Excel crea dinámicamente un rango del tamaño adecuado y lo rellena con los resultados. La fórmula sólo debe introducirse en una célula Es importante que tenga suficientes celdas vacías abajo y/o a la derecha de la celda donde introduce la fórmula, de lo contrario se produce un error #SPILL.
- Los resultados actualizar automáticamente cuando cambian los datos de origen. Sin embargo, las nuevas entradas que se añaden fuera de la matriz referenciada no se incluyen en la fórmula a menos que cambie el parámetro matriz Si desea la referencia matriz para que responda automáticamente al cambio de tamaño del rango de origen, convierta el rango en una tabla de Excel y utilice referencias estructuradas, o cree un rango dinámico con nombre.
- Las matrices dinámicas entre distintos archivos Excel sólo funcionan cuando ambos libros están abiertos ¡Si el libro de origen está cerrado, una fórmula UNIQUE vinculada devolverá un error #REF!
- Al igual que otras funciones de matriz dinámica, UNIQUE sólo puede utilizarse dentro de una matriz normal. gama ¡Cuando se pone dentro de tablas de Excel, devuelve un error #SPILL!
Cómo encontrar valores únicos en Excel - ejemplos de fórmulas
Los siguientes ejemplos muestran algunos usos prácticos de la función UNIQUE en Excel. La idea principal es extraer valores únicos o eliminar duplicados, según su punto de vista, de la forma más sencilla posible.
Extraer valores únicos que sólo aparecen una vez
Para obtener una lista de valores que aparecen en el rango especificado exactamente una vez, establezca el 3er argumento de UNIQUE en TRUE.
Por ejemplo, para extraer una vez los nombres que figuran en la lista de ganadores, utilice esta fórmula:
=ÚNICO(B2:B10,,TRUE)
Donde B2:B10 es el rango de fuentes y el 2º argumento ( by_col ) es FALSE o se omite porque nuestros datos están organizados en filas.
Encontrar valores distintos que aparecen más de una vez
Si persigue un objetivo opuesto, es decir, está buscando obtener una lista de valores que aparezcan en un rango dado más de una vez, entonces utilice la función ÚNICA junto con FILTRO y CONTIF:
UNIQUE(FILTRO( gama COUNTIF( gama , gama )>1))Por ejemplo, para extraer diferentes nombres que aparecen en B2:B10 más de una vez, puede utilizar esta fórmula:
=UNIQUE(FILTER(B2:B10, COUNTIF(B2:B10, B2:B10)>1))
Cómo funciona esta fórmula:
En el corazón de la fórmula, la función FILTRAR filtra las entradas duplicadas basándose en el recuento de ocurrencias, devuelto por la función COUNTIF. En nuestro caso, el resultado de COUNTIF es esta matriz de recuentos:
{4;1;3;4;4;1;3;4;3}
La operación de comparación (>1) cambia la matriz anterior a los valores TRUE y FALSE, donde TRUE representa los elementos que aparecen más de una vez:
{VERDADERO;FALSO;VERDADERO;VERDADERO;VERDADERO;FALSO;VERDADERO;VERDADERO}
Esta matriz se entrega a FILTER como la matriz incluir para indicar a la función qué valores debe incluir en la matriz resultante:
{"Andrew"; "David"; "Andrew"; "Andrew"; "David"; "Andrew"; "David"}
Como puede observar, sólo sobreviven los valores correspondientes a TRUE.
La matriz anterior va al matriz de UNIQUE y, tras eliminar los duplicados, muestra el resultado final:
{"Andrew"; "David"}
Sugerencia: de forma similar, puede filtrar valores únicos que aparezcan más de dos veces (>2), más de tres veces (>3), etc. Para ello, sólo tiene que cambiar el número en la comparación lógica.
Buscar valores únicos en varias columnas (filas únicas)
Si desea comparar dos o más columnas y devolver los valores únicos entre ellas, incluya todas las columnas de destino en el campo matriz argumento.
Por ejemplo, para obtener el nombre (columna A) y los apellidos (columna B) de los ganadores, introducimos esta fórmula en E2:
=ÚNICO(A2:B10)
Al pulsar la tecla Intro se obtienen los siguientes resultados:
Para obtener filas únicas es decir, las entradas con la combinación única de valores en las columnas A, B y C, ésta es la fórmula que hay que utilizar:
=ÚNICO(A2:C10)
Increíblemente sencillo, ¿verdad? :)
Obtener una lista de valores únicos ordenados alfabéticamente
El problema es que hay que volver a ordenar cada vez que cambian los datos de origen, porque, a diferencia de las fórmulas de Excel, que se recalculan automáticamente con cada cambio en la hoja de cálculo, las funciones tienen que volver a aplicarse manualmente.
Con la introducción de las funciones dinámicas de array, este problema ha desaparecido. Lo que tienes que hacer es simplemente deformar la función SORT alrededor de una fórmula UNIQUE normal, como ésta:
SORT(UNIQUE(array))Por ejemplo, para extraer valores únicos en las columnas A a C y ordenar los resultados de la A a la Z, utilice esta fórmula:
=SORT(UNIQUE(A2:C10))
En comparación con el ejemplo anterior, el resultado es mucho más fácil de percibir y de trabajar con él. Por ejemplo, podemos ver claramente que Andrés y David han sido ganadores en dos deportes diferentes.
Consejo: En este ejemplo, hemos ordenado los valores de la 1ª columna de la A a la Z. Estos son los valores por defecto de la función SORT, por lo que la opción ordenar_índice y ordenar Si desea ordenar los resultados por alguna otra columna o en un orden diferente (de Z a A o de mayor a menor) establezca los argumentos 2º y 3º como se explica en el tutorial de la función SORT.
Buscar valores únicos en varias columnas y concatenarlos en una celda
Al buscar en varias columnas, por defecto, la función UNIQUE de Excel muestra cada valor en una celda distinta. ¿Quizá le resulte más cómodo tener los resultados en una sola celda?
Para ello, en lugar de hacer referencia a todo el rango, utilice el ampersand (&) para concatenar las columnas y ponga el delimitador deseado entre ellas.
Por ejemplo, estamos concatenando los nombres de A2:A10 y los apellidos de B2:B10, separando los valores con un espacio (" "):
=UNIQUE(A2:A10&" "&B2:B10)
Como resultado, tenemos una lista de nombres completos en una columna:
Obtener una lista de valores únicos basados en criterios
Para extraer valores únicos con condición, utilice conjuntamente las funciones UNIQUE y FILTER de Excel:
- La función FILTRO limita los datos sólo a los valores que cumplen la condición.
- La función UNIQUE elimina los duplicados de la lista filtrada.
Esta es la versión genérica de la fórmula de valores únicos filtrados:
UNIQUE(FILTRO(array, rango_de_criterios = criterios ))Para este ejemplo, vamos a obtener una lista de ganadores en un deporte específico. Para empezar, introducimos el deporte de interés en alguna celda, digamos F1. Y luego, usamos la fórmula de abajo para obtener los nombres únicos:
=ÚNICO(FILTRO(A2:B10, C2:C10=F1))
Donde A2:B10 es un rango para buscar valores únicos y C2:C10 es el rango para comprobar los criterios.
Filtrar valores únicos en función de varios criterios
Para filtrar valores únicos con dos o más condiciones, utilice expresiones como las que se muestran a continuación para construir los criterios necesarios para la función FILTRO:
UNIQUE(FILTRO(array, ( rango_de_criterios1 = criterios1 ) * ( rango_de_criterios2 = criterios2 )))El resultado de la fórmula es una lista de entradas únicas para las que todas las condiciones especificadas son TRUE. En términos de Excel, esto se denomina lógica AND.
Para ver la fórmula en acción, obtengamos una lista de ganadores únicos por deporte en G1 (criterio 1) y por edad en G2 (criterio 2).
Con el rango de origen en A2:B10, los deportes en C2:C10 (rango_criterios 1) y las edades en D2:D10 (rango_criterios 2), la fórmula adopta esta forma:
=UNIQUE(FILTER(A2:B10, (C2:C10=G1) * (D2:D10
Y devuelve exactamente los resultados que buscamos:
Cómo funciona esta fórmula:
He aquí una explicación de alto nivel de la lógica de la fórmula:
En el incluir de la función FILTER, se suministran dos o más pares rango/criterio. El resultado de cada expresión lógica es una matriz de valores TRUE y FALSE. La multiplicación de las matrices coacciona los valores lógicos a números y produce una matriz de 1's y 0's. Puesto que multiplicar por cero siempre da cero, sólo las entradas que cumplen todas las condiciones tienen 1 en la matriz final. La función FILTERfiltra los elementos correspondientes a 0 y pasa los resultados a UNIQUE.
Para obtener más información, consulte FILTRO con criterios múltiples utilizando la lógica AND.
Filtrar valores únicos con varios criterios OR
Para obtener una lista de valores únicos basada en múltiples criterios OR, es decir, cuando este O aquel criterio es TRUE, sume las expresiones lógicas en lugar de multiplicarlas:
UNIQUE(FILTRO(array, ( rango_de_criterios1 = criterios1 ) + ( rango_de_criterios2 = criterios2 )))Por ejemplo, para mostrar los ganadores en Fútbol o Hockey puedes utilizar esta fórmula:
=UNIQUE(FILTER(A2:B10, (C2:C10="Fútbol") + (C2:C10="Hockey")))
Si es necesario, puede por supuesto introducir los criterios en celdas separadas y referirse a esas celdas como se muestra a continuación:
=ÚNICO(FILTRO(A2:B10, (C2:C10=G1) + (C2:C10=G2)))
Cómo funciona esta fórmula:
Al igual que cuando se comprueban varios criterios AND, se colocan varias expresiones lógicas en el campo incluir de la función FILTER, cada uno de los cuales devuelve una matriz de valores TRUE y FALSE. Cuando se suman estas matrices, los elementos para los que uno o más criterios son TRUE tendrán 1, y los elementos para los que todos los criterios son FALSE tendrán 0. Como resultado, cualquier entrada que cumpla una sola condición entra en la matriz que se entrega a UNIQUE.
Para obtener más información, consulte FILTRO con criterios múltiples mediante lógica OR.
Obtener valores únicos en Excel ignorando los espacios en blanco
Si está trabajando con un conjunto de datos que contiene algunos espacios en blanco, es probable que una lista de únicos obtenida con una fórmula normal tenga una celda vacía y/o un valor cero. Esto ocurre porque la función UNIQUE de Excel está diseñada para devolver todos los valores distintos de un rango, incluidos los espacios en blanco. Por lo tanto, si su rango de origen tiene tanto ceros como celdas en blanco, la lista de únicos contendrá 2 ceros, uno de los cuales representará un espacio en blancoAdemás, si los datos de origen contienen cadenas vacías devueltas por alguna fórmula, la lista uique también incluirá una cadena vacía ("") que visualmente parece una celda en blanco:
Para obtener una lista de valores únicos sin espacios en blanco, esto es lo que tienes que hacer:
- Filtre las celdas en blanco y las cadenas vacías utilizando la función FILTRO.
- Utilice la función UNIQUE para limitar los resultados a valores únicos.
De forma genérica, la fórmula es la siguiente:
UNIQUE(FILTRO( gama , gama ""))En este ejemplo, la fórmula en D2 es:
=ÚNICO(FILTRO(B2:B12, B2:B12""))
Como resultado, Excel devuelve una lista de nombres únicos sin celdas vacías:
Nota: En caso de que los datos originales contengan ceros se incluirá un valor cero en la lista única.
Buscar valores únicos en columnas específicas
A veces es posible que desee extraer valores únicos de dos o más columnas que no son adyacentes entre sí. A veces, también es posible que desee reordenar las columnas en la lista resultante. Ambas tareas se pueden realizar con la ayuda de la función ELEGIR.
UNIQUE(CHOOSE({1,2,...}, gama1 , gama2 ))Supongamos que, a partir de nuestra tabla de ejemplo, deseamos obtener una lista de ganadores basada en los valores de las columnas A y C y ordenar los resultados en este orden: primero un deporte (columna C) y, a continuación, el nombre de un deportista (columna A). Para ello, construimos esta fórmula:
=UNIQUE(CHOOSE({1,2}, C2:C10, A2:A10))
Y obtener el siguiente resultado:
Cómo funciona esta fórmula:
La función CHOOSE devuelve una matriz bidimensional de valores de las columnas especificadas. En nuestro caso, también intercambia el orden de las columnas.
{"Baloncesto", "Andrew"; "Baloncesto", "Betty"; "Voleibol", "David"; "Baloncesto", "Andrew"; "Hockey", "Andrew"; "Fútbol", "Robert"; "Voleibol", "David"; "Hockey", "Andrew"; "Baloncesto", "David"}
A partir de la matriz anterior, la función UNIQUE devuelve una lista de registros únicos.
Búsqueda de valores únicos y gestión de errores
Las fórmulas UNIQUE de las que hemos hablado en este tutorial funcionan perfectamente... siempre que haya al menos un valor que cumpla los criterios especificados. Si la fórmula no encuentra nada, se produce un error #CALC!
Para evitar que esto ocurra, simplemente envuelva su fórmula en la función IFERROR.
Por ejemplo, si no se encuentran valores únicos que cumplan los criterios, puede no mostrar nada, es decir, una cadena vacía (""):
=IFERROR(UNIQUE(FILTER(A2:B10, (C2:C10=G1) * (D2:D10
O puede informar claramente a sus usuarios de que no se han encontrado resultados:
=IFERROR(UNIQUE(FILTER(A2:B10, (C2:C10=G1) * (D2:D10
La función UNIQUE de Excel no funciona
Como has visto, la aparición de la función UNIQUE ha hecho que encontrar valores únicos en Excel sea increíblemente fácil. Si de repente tu fórmula da error, lo más probable es que se trate de una de las siguientes cosas.
#Error
Ocurre si se utiliza una fórmula ÚNICA en una versión de Excel en la que no se admite esta función.
Actualmente, la función ÚNICA solo está disponible en Excel 365 y 2021. Si tienes una versión diferente, puedes encontrar una solución adecuada en este tutorial: Cómo obtener valores únicos en Excel 2019, Excel 2016 y anteriores.
El error #NAME? en las versiones compatibles indica que el nombre de la función está mal escrito.
Error #SPILL
Se produce si una o más celdas del intervalo de derrame no están completamente en blanco.
Para corregir el error, basta con borrar o eliminar las celdas que no estén vacías. Para ver exactamente qué celdas están estorbando, haga clic en el indicador de error y, a continuación, en Seleccionar células obstructoras Para obtener más información, consulte Error #SPILL! en Excel: causas y soluciones.
Así es cómo encontrar valores únicos en Excel. Gracias por leer y ¡espero verte en nuestro blog la semana que viene!
Cuaderno de prácticas para descargar
Ejemplos de fórmulas de valores únicos de Excel (archivo .xlsx)