Note: The other languages of the website are Google-translated. Back to English

¿Cómo extraer valores únicos de varias columnas en Excel?

Suponiendo que tiene varias columnas con múltiples valores, algunos valores se repiten en la misma columna o en una columna diferente. Y ahora desea encontrar los valores que están presentes en cualquiera de las columnas solo una vez. ¿Hay algún truco rápido para que extraiga valores únicos de varias columnas en Excel?


Extraiga valores únicos de varias columnas con fórmula de matriz

Aquí hay una fórmula de matriz que también puede ayudarlo a extraer los valores únicos de varias columnas.

1. Asumiendo sus valores en rango A2: C9, ingrese la siguiente fórmula en la celda E2:

=INDIRECT(TEXT(MIN(IF(($A$2:$C$9<>"")*(COUNTIF($E$1:E1,$A$2:$C$9)=0),ROW($2:$9)*100+COLUMN($A:$C),7^8)),"R0C00"),)&""

Nota:: En la fórmula anterior, A2: C9 indica el rango de celdas que desea extraer los valores únicos, E1: E1 es la primera celda de la columna en la que desea colocar el resultado, $ 2: $ 9 los soportes de las filas contienen las celdas que desea usar, y $ A: $ C indica que las columnas contienen las celdas que desea utilizar. Cámbialos por los tuyos.

2. Entonces presione Mayús + Ctrl + Entrar teclas juntas y luego arrastre el controlador de relleno para extraer los valores únicos hasta que aparezcan celdas en blanco. Ver captura de pantalla:


Extraiga valores únicos de varias columnas con la tabla dinámica

Si está familiarizado con la tabla dinámica, puede extraer fácilmente los valores únicos de varias columnas con los siguientes pasos:

1. Al principio, inserte una nueva columna en blanco a la izquierda de sus datos; en este ejemplo, insertaré la columna A junto a los datos originales.

2. Haga clic en una celda de sus datos y presione Alt + D teclas, luego presione P inmediatamente para abrir el Asistente para tablas dinámicas y gráficos dinámicos, escoger Múltiples rangos de consolidación en el asistente paso 1, vea la captura de pantalla:

3. Luego haga clic Siguiente botón, verificar Crea un campo de una sola página para mí opción en el asistente paso 2, vea la captura de pantalla:

4. Sigue haciendo clic Siguiente , haga clic para seleccionar el rango de datos que incluye la nueva columna izquierda de celdas, luego haga clic en Añada para agregar el rango de datos al Todos los rangos cuadro de lista, ver captura de pantalla:

5. Después de seleccionar el rango de datos, continúe haciendo clic Siguiente, en el paso 3 del asistente, elija dónde desea colocar el informe de tabla dinámica como desee.

6. Por último, haz clic Terminar para completar el asistente, y se ha creado una tabla dinámica en la hoja de trabajo actual, luego desmarque todos los campos de la Elija campos para agregar al informe sección, ver captura de pantalla:

7. Entonces revisa el campo Valor o arrastre el Valor al filas etiqueta, ahora obtendrá los valores únicos de las múltiples columnas de la siguiente manera:


Extraiga valores únicos de varias columnas con código VBA

Con el siguiente código VBA, también puede extraer los valores únicos de varias columnas.

1. Mantenga pulsado el ALT + F11 llaves, y abre el Ventana de Microsoft Visual Basic para aplicaciones.

2. Hacer clic recuadro > Móduloy pegue el siguiente código en la ventana del módulo.

VBA: extrae valores únicos de varias columnas

Sub Uniquedata()
'Updateby Extendoffice
Dim rng As Range
Dim InputRng As Range, OutRng As Range
Set dt = CreateObject("Scripting.Dictionary")
xTitleId = "KutoolsforExcel"
Set InputRng = Application.Selection
Set InputRng = Application.InputBox("Range :", xTitleId, InputRng.Address, Type:=8)
Set OutRng = Application.InputBox("Out put to (single cell):", xTitleId, Type:=8)
For Each rng In InputRng
    If rng.Value <> "" Then
        dt(rng.Value) = ""
    End If
Next
OutRng.Range("A1").Resize(dt.Count) = Application.WorksheetFunction.Transpose(dt.Keys)
End Sub

3. Entonces presione F5 para ejecutar este código, y aparecerá un cuadro emergente para recordarle que seleccione el rango de datos que desea usar. Ver captura de pantalla:

4. Y luego haz clic OK, aparecerá otro cuadro de aviso para permitirle elegir un lugar para colocar el resultado, vea la captura de pantalla:

5. Presione OK para cerrar este diálogo, y todos los valores únicos se han extraído a la vez.


Extraiga valores únicos de una sola columna con una característica sorprendente

A veces, necesita extraer los valores únicos de una sola columna, los métodos anteriores no lo ayudarán, aquí, puedo recomendar una herramienta útil:Kutools for Excel, Con su Extraiga celdas con valores únicos (incluya el primer duplicado) utilidad, puede extraer rápidamente los valores únicos.

Nota:Para aplicar esto Extraiga celdas con valores únicos (incluya el primer duplicado), en primer lugar, debe descargar el Kutools for Excely, a continuación, aplique la función de forma rápida y sencilla.

Después de instalar Kutools for Excel, haz lo siguiente:

1. Haga clic en una celda en la que desee generar el resultado. (Nota:: No haga clic en una celda de la primera fila.)

2. Luego haga clic Kutools > Ayudante de fórmula > Ayudante de fórmula, ver captura de pantalla:

3. En la Ayudante de fórmulas cuadro de diálogo, realice las siguientes operaciones:

  • Seleccione Texto Opción de la Fórmula Tipo la lista desplegable;
  • Entonces escoge Extraiga celdas con valores únicos (incluya el primer duplicado) de Elige una fromula cuadro de lista;
  • En lo correcto Entrada de argumentos sección, seleccione una lista de celdas de las que desea extraer valores únicos.

4. Luego haga clic Ok y arrastre el controlador de relleno a las celdas en las que desea enumerar todos los valores únicos hasta que se muestren celdas en blanco, vea la captura de pantalla:

¡Descarga gratis Kutools para Excel ahora!


Artículos más relativos:

  • Cuente el número de valores únicos y distintos de una lista
  • Supongamos que tiene una lista larga de valores con algunos elementos duplicados, ahora desea contar el número de valores únicos (los valores que aparecen en la lista solo una vez) o valores distintos (todos los valores diferentes en la lista, significa únicos valores + 1er valor duplicado) en una columna como se muestra en la captura de pantalla de la izquierda. En este artículo, hablaré sobre cómo lidiar con este trabajo en Excel.
  • Extraiga valores únicos basados ​​en criterios en Excel
  • Supongamos que tiene el siguiente rango de datos en el que desea enumerar solo los nombres únicos de la columna B según un criterio específico de la columna A para obtener el resultado como se muestra a continuación. ¿Cómo podría hacer frente a esta tarea en Excel de forma rápida y sencilla?
  • Permitir solo valores únicos en Excel
  • Si desea mantener solo valores únicos ingresando en una columna de la hoja de trabajo y evitar los duplicados, este artículo presentará algunos trucos rápidos para que pueda manejar esta tarea.
  • Sumar valores únicos basados ​​en criterios en Excel
  • Por ejemplo, tengo un rango de datos que contiene las columnas Nombre y Orden, ahora, para sumar solo valores únicos en la columna Orden según la columna Nombre como se muestra en la siguiente captura de pantalla. ¿Cómo solucionar esta tarea de forma rápida y sencilla en Excel?

Las mejores herramientas de productividad de oficina

Kutools para Excel resuelve la mayoría de sus problemas y aumenta su productividad en un 80%

  • Reutilizar: Inserte rápidamente fórmulas complejas, gráficos y cualquier cosa que hayas usado antes; Cifrar celdas con contraseña; Crear lista de distribución y enviar correos electrónicos ...
  • Barra de súper fórmula (edite fácilmente varias líneas de texto y fórmulas); Diseño de lectura (leer y editar fácilmente un gran número de celdas); Pegar en rango filtrado...
  • Combinar celdas / filas / columnas sin perder datos; Contenido de celdas divididas; Combinar filas / columnas duplicadas... Prevenir celdas duplicadas; Comparar rangos...
  • Seleccione Duplicado o Único Filas; Seleccionar filas en blanco (todas las celdas están vacías); Super Find y Fuzzy Find en muchos libros de trabajo; Selección aleatoria ...
  • Copia exacta Varias celdas sin cambiar la referencia de la fórmula; Crear referencias automáticamente a varias hojas; Insertar viñetas, Casillas de verificación y más ...
  • Extraer texto, Agregar texto, Eliminar por posición, Quitar espacio; Crear e imprimir subtotales de paginación; Convertir entre contenido de celdas y comentarios...
  • Súper filtro (guardar y aplicar esquemas de filtros a otras hojas); Orden avanzado por mes / semana / día, frecuencia y más; Filtro especial en negrita, cursiva ...
  • Combinar libros y hojas de trabajo; Combinar tablas basadas en columnas clave; Dividir datos en varias hojas; Conversión por lotes de xls, xlsx y PDF...
  • Más de 300 potentes funciones. Compatible con Office/Excel 2007-2021 y 365. Compatible con todos los idiomas. Fácil implementación en su empresa u organización. Funciones completas Prueba gratuita de 30 días. Garantía de devolución de dinero de 60 días.
pestaña kte 201905

Office Tab lleva la interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil

  • Habilite la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
  • Abra y cree varios documentos en nuevas pestañas de la misma ventana, en lugar de en nuevas ventanas.
  • ¡Aumenta su productividad en un 50% y reduce cientos de clics del mouse todos los días!
officetab parte inferior
Comentarios (31)
5 clasificado de 5 · 1 calificaciones
Este comentario fue minimizado por el moderador en el sitio
Is this formula complete? =INDIRECT(TEXT(MIN(IF(($A$2:$C$9"")*(COUNTIF($E$1:E1,$A$2:$C$9)=0),ROW($2:$9)*100+COLUMN($A:$C),7^8)),"R0C00"),)&"",
Este comentario fue minimizado por el moderador en el sitio
Esto aún no está arreglado :triste:
Este comentario fue minimizado por el moderador en el sitio
que perdida de tiempo... la formula NO funciona
Este comentario fue minimizado por el moderador en el sitio
¡¡¡Gracias!!! Pasé horas tratando de hacer esto y descifrar qué sucedió con el Asistente de pivote (otro artículo).
Este comentario fue minimizado por el moderador en el sitio
Estoy usando su código VBA, pero no quiero que aparezca el cuadro. En cambio, quiero definir exactamente qué rango de celdas usar cada vez y exactamente en qué cuadro colocar la salida. El rango de entrada y la salida estarían en dos hojas diferentes. ¿Cómo actualizo el VBA para hacerlo? ¡¡Gracias!!
Este comentario fue minimizado por el moderador en el sitio
¡Oye! ¿Alguien sabe por qué esta fórmula parece generar un error después de la fila 87? Por ejemplo, funciona perfectamente y luego, en cierto punto, simplemente me devuelve errores para cada fila... ¡lo cual es lo peor! Porque estoy tan cerca de exactamente lo que necesito aquí...
Este comentario fue minimizado por el moderador en el sitio
=INDIRECT(TEXT(MIN(IF(($A$2:$C$9"")*(COUNTIF($E$1:E1,$A$2:$C$9)=0),ROW($2:$9)*100+COLUMN($A:$C),7^8)),"R0C00"),)&"" It doesn't work
Este comentario fue minimizado por el moderador en el sitio
hola, quiero extraer celdas únicas de la primera columna cuando las comparo con otras columnas (tengo tres columnas desiguales), ¿cómo puedo hacerlo?
Este comentario fue minimizado por el moderador en el sitio
hola, tengo tres columnas desiguales y quiero extraer celdas únicas de la primera columna. ¿¿Cómo puedo hacerlo?? gracias de antemano
Este comentario fue minimizado por el moderador en el sitio
Amo las

Extraiga valores únicos de varias columnas con tabla dinámica
Este comentario fue minimizado por el moderador en el sitio
¿Puede enviar la fórmula correcta? La función VBA funciona bien.
Solo para mi proyecto, prefiero usar la fórmula correcta.


Muchas Gracias
Este comentario fue minimizado por el moderador en el sitio
¿Alguien sabe, para la salida, cómo convertirlo en varias líneas pero no en una línea? (Actualmente, el resultado de una línea se logra mediante worksheetfunction.transpose, pero lo que quiero lograr (como resultado) es que cuando seleccione 3 columnas, el resultado devuelto también son 3 columnas, en lugar de una
Este comentario fue minimizado por el moderador en el sitio
Esta fórmula matricial es CORRECTA. Datos en las columnas A a C, primera fórmula de resultado en la celda D2 ... Esta es diferente de otra fórmula de matriz en que la última es copiar la fórmula hacia abajo y Ctrl + Shift + Enter all formula. Sin embargo, esta fórmula de matriz debe hacerse Ctrl + Shift + Enter en la primera celda y copiar hacia abajo.
Este comentario fue minimizado por el moderador en el sitio
Muchas gracias por la macro!!! me fue muy util
Este comentario fue minimizado por el moderador en el sitio
Me he ajustado a mi hoja, pero solo devuelvo el primer valor en la matriz definida... ¿Qué me estoy perdiendo?
Este comentario fue minimizado por el moderador en el sitio
Hola Cody,
La fórmula anterior funciona bien en mi hoja de trabajo, ¿podría dar una captura de pantalla de su problema de datos aquí?
¡Gracias!
Este comentario fue minimizado por el moderador en el sitio
Con respecto a la versión de fórmula, ¿podría explicar con más detalle qué está haciendo esta parte? *100+COLUMN($A:$C),7^8)),"R0C00") En concreto, ¿cuáles son los * 100, 7 8 ^ y "R0C000" ¿haciendo? Estoy entendiendo todo lo demás, pero no puedo entender para qué son.
Este comentario fue minimizado por el moderador en el sitio
Un poco tarde para mi respuesta aquí, pero...
FILA ($ 2: $ 9) * 100: esto es multiplicar el número de fila * 100, por lo que si está en la fila 5, ahora el número es 500
COLUMNA ($ A: $ C): esto se agrega al número de fila * 100, por lo que si es fila 5 col 2, entonces el número es 502.
7^8)), - esto (creo) es tener un valor máximo para la declaración mínima anterior.
"R0C00"): formatea el texto según el número. En el ejemplo, teníamos 502, por lo que da R5C02 (fila 5, columna 02).

Si tiene muchas columnas pero no muchas filas, puede cambiarlo a FILA ($ 2: $ 9) *1000+COLUMNA($A:$C),7^8)),"R0C000")
Este comentario fue minimizado por el moderador en el sitio
Gracias por el código. Estoy usando el código VBA de esta página. ¿Hay alguna manera de agregar un código de clasificación después de extraer los valores únicos para que los clasifique automáticamente?
Este comentario fue minimizado por el moderador en el sitio
¿Podemos crear una función uniqdata en lugar de una macro?
Este comentario fue minimizado por el moderador en el sitio
Hola, İlhan, si desea una función definida por el usuario para crear una fórmula para resolver este problema, el siguiente código puede ayudarlo: después de insertar el código, seleccione una lista de celdas donde desea colocar los resultados. Luego escribe esta fórmula:=Únicos(A1:C4)  en la barra de fórmulas. Presione Ctrl + Shift + Enter llaves juntas. 


Function Uniques(ByVal inputRange As Range)
Dim inputArray As Variant
Dim myColl As New Collection
Dim xVal As Variant
Dim outArray() As Variant
On Error Resume Next
With inputRange
inputArray = Application.Intersect(.Cells, .Parent.UsedRange).Value
End With
On Error GoTo 0
On Error Resume Next
For Each xVal In inputArray
myColl.*** Item:=xVal, Key:=(CStr(xVal) & TypeName(xVal))
Next xVal
myColl.Remove "String"
On Error GoTo 0
ReDim outArray(1 To Application.Max(myColl.Count, Application.Caller.Cells.Count))
For xVal = 1 To UBound(outArray)
outArray(xVal) = vbNullString
Next xVal
For xVal = 1 To Application.Min(myColl.Count, Application.Caller.Cells.Count)
outArray(xVal) = myColl(xVal)
Next xVal
If Application.Caller.Columns.Count = 1 Then
Uniques = Application.Transpose(outArray)
Else
Uniques = outArray
End If
End Function
Este comentario fue minimizado por el moderador en el sitio
Czy a żart?
Este comentario fue minimizado por el moderador en el sitio
La fórmula de matriz en la parte superior funciona muy bien cuando se usa con datos en la misma hoja, sin embargo, cuando trato de usarla para hacer referencia a los mismos datos exactos de otra hoja, la fórmula no devuelve nada. No puedo entender por qué. ¿Existe una limitación con las funciones de matriz que le impide hacer referencia a rangos en una hoja diferente?

Gracias por cualquier información que pueda proporcionar.
Este comentario fue minimizado por el moderador en el sitio
Hola Erin,

Encantado de ayudar. La función INDIRECTA en esta fórmula es más complicada de usar cuando se hace referencia a datos en otras hojas de cálculo. No se recomienda utilizar esta función al hacer referencia a rangos en diferentes hojas de trabajo.

Por ejemplo: Ahora que los datos están en la Hoja1, quiero hacer referencia al contenido de la celda C2 de la Hoja1 en la Hoja2. Primero, en cualquiera de las dos celdas de la Hoja2, como D1 y D2, ingrese Hoja1 y C2, respectivamente. En este punto, ingrese la fórmula en la celda vacía de Sheet2:
= INDIRECTO ("'" & D1 & "'!" & D2), entonces se puede devolver el contenido de la celda C2 en Sheet1.

Como puede ver, hace que las cosas sean mucho más complejas. Espero que mi explicación pueda ayudar. Que tengas un lindo día.

Atentamente,
Mandy
Este comentario fue minimizado por el moderador en el sitio
¡Hola señor! El VBA funcionó de maravilla, ¡muchas gracias por eso! Me preguntaba, si cambio los datos originales, ¿es posible actualizar la columna con los valores únicos automáticamente?
5 clasificado de 5
Este comentario fue minimizado por el moderador en el sitio
Hola Ioannis,

Encantado de ayudar. Después de cambiar los datos originales, VBA no puede actualizar el resultado automáticamente. Y la forma más fácil que se me ocurre es presionar Ctrl + Alt + F9 para actualizar todos los resultados en las hojas de trabajo en todos los libros abiertos. Que tengas un lindo día.

Atentamente,
Mandy
Este comentario fue minimizado por el moderador en el sitio
Gracias por este gran artículo.

Para las personas que están usando el formulario de matriz en Excel que no está en inglés hay que tener especial cuidado con la cadena de formato de texto: en tu ejemplo: "R0C00".
Para el alemán, esto se traduciría como "Z0S00". Sin embargo, "S" es un carácter especial que se refiere a segundos para formatear la hora. Este carácter debe escaparse y, por lo tanto, la cadena de formato correcta para Excel alemán es "Z0\S00".

Espero que esto ayude a alguien en el futuro :-)
No hay comentarios publicados aquí todavía
Ver más
Deje sus comentarios
Publicar como invitado
×
Califica esta publicación:
0   Personajes
Ubicaciones sugeridas

Seguinos

Copyright © 2009 - www.extendoffice.com. | Reservados todos los derechos. Energizado por ExtendOffice, | Mapa del Sitio
Microsoft y el logotipo de Office son marcas comerciales o marcas comerciales registradas de Microsoft Corporation en los Estados Unidos y / o en otros países.
Protegido por Sectigo SSL