¿Cómo crear una lista de valores únicos en varias hojas de cálculo en Excel?
Al trabajar con datos repartidos en múltiples hojas de cálculo en Excel, es posible que necesites consolidar la información y generar una lista de valores únicos. Aunque Excel no proporciona una función incorporada directa para esta tarea, existen varios métodos para lograrlo. Este artículo te guiará a través de tres enfoques prácticos para crear una lista de valores únicos desde múltiples hojas de cálculo.
Crear una lista de valores únicos desde múltiples hojas de cálculo
Crear una lista de valores únicos desde múltiples hojas de cálculo con código VBA
Para enumerar todos los valores únicos de todas las hojas de cálculo, el siguiente código VBA puede ayudarte, por favor haz lo siguiente:
1. Mantén presionadas las teclas "ALT + F11" para abrir la ventana "Microsoft Visual Basic para Aplicaciones".
2. Haz clic en "Insertar" > "Módulo", y pega la siguiente macro en la Ventana del Módulo.
Código VBA: Crear una lista de valores únicos desde múltiples hojas de cálculo:
Sub SheelsUniqueValues()
Dim xObjNewWS As Worksheet
Dim xObjWS As Worksheet
Dim xStrAddress As String
Dim xIntRox As Long
Dim xIntN As Long
Dim xFNum As Integer
Dim xMaxC, xColumn As Integer
Dim xR As Range
xStrName = "Unique value"
Application.ScreenUpdating = False
xMaxC = 0
Application.DisplayAlerts = False
For Each xObjWS In Sheets
If xObjWS.Name = xStrName Then
xObjWS.Delete
Exit For
End If
Next
Application.DisplayAlerts = True
For xFNum = 1 To Sheets.Count
xColumn = Sheets(xFNum).Cells.Find(What:="*", after:=[A1], SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column
If xMaxC < xColumn Then
xMaxC = xColumn
End If
Next xFNum
Application.DisplayAlerts = True
Set xObjNewWS = Sheets.Add(after:=Sheets(Sheets.Count))
xObjNewWS.Name = xStrName
For xColumn = 1 To xMaxC
xIntN = 1
For xFNum = 1 To Sheets.Count - 1
Set xR = Sheets(xFNum).Columns(xColumn)
If TypeName(Sheets(xFNum).Columns(xColumn).Find(What:="*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious)) <> "Nothing" Then
xIntRox = xR.Find(What:="*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
Sheets(xFNum).Range(Cells(1, xColumn).Address & ":" & Cells(xIntRox, xColumn).Address).Copy
Cells(xIntN, xColumn).PasteSpecial xlValues
xIntN = xIntRox + xIntN + 1
End If
Next xFNum
If xIntRox - 1 > 0 Then
xIntRox = xIntN - 1
xStrAddress = Cells(1, xColumn).Address & ":" & Cells(xIntRox, xColumn).Address
Range(xStrAddress).AdvancedFilter Action:=xlFilterInPlace, Unique:=True
Range(xStrAddress).Copy
Cells(1, xColumn + 1).PasteSpecial xlValues
Range(xStrAddress).AdvancedFilter Action:=xlFilterInPlace, Unique:=False
Columns(xColumn).Delete
Range(xStrAddress).Sort key1:=Cells(1, xColumn), Header:=xlNo
End If
Next xColumn
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
3. Después de pegar el código anterior, presiona F5 para ejecutar este código, y se creará una nueva hoja de cálculo llamada Valor Único y los nombres únicos de la columna A de todas las hojas se enumerarán como se muestra en la siguiente captura de pantalla:
Crear una lista de valores únicos desde múltiples hojas de cálculo con Kutools AI Aide
En esta sección, te mostraremos cómo crear fácilmente una lista de valores únicos desde múltiples hojas de cálculo usando Kutools AI Aide.
Haz clic en "Kutools" > "AI Aide" para abrir el panel "Kutools AI Aide", en el panel, por favor realiza las siguientes operaciones:
- Escribe el requerimiento en el cuadro de chat: por ejemplo:
Extraer todos los valores únicos de la Columna A de todas las hojas de cálculo de este libro y listar los valores únicos en una nueva hoja - Luego, presiona la tecla Enter o haz clic en el botón "Enviar". Kutools AI analizará la pregunta, después de finalizar, haz clic en el botón "Ejecutar", todos los valores únicos de múltiples hojas se mostrarán en una nueva hoja, mira la demostración:
Crear una lista de valores únicos desde múltiples hojas de cálculo con fórmula (Excel 365)
Si deseas crear una lista de valores únicos desde múltiples hojas de cálculo en Excel usando una fórmula, puedes lograr esto combinando funciones de matriz dinámica como UNIQUE y VSTACK en Excel 365.
Por favor, introduce la siguiente fórmula en una celda en blanco, y luego presiona la tecla Enter para extraer valores únicos en una sola columna desde múltiples hojas. Ver captura de pantalla:
=UNIQUE(VSTACK(Sheet1!A1:A11, Sheet2!A1:A11, Sheet3!A1:A11, Sheet4!A1:A11))
- VSTACK: Combina múltiples rangos (por ejemplo, Sheet1!A1:A11, Sheet2!A1:A11, Sheet3!A1:A11, Sheet3!A1:A11) en una única matriz vertical.
- UNIQUE: Filtra los duplicados y devuelve solo los valores únicos de la lista combinada.
- A1:A11: Ajusta el rango para incluir tu rango de datos real.
En este artículo, exploramos tres métodos efectivos para crear una lista de valores únicos desde múltiples hojas de cálculo en Excel. Cada método tiene sus ventajas, permitiéndote elegir el que mejor se adapte a tu versión de Excel, nivel de habilidad y necesidades específicas. Si estás interesado en explorar más consejos y trucos de Excel, nuestro sitio web ofrece miles de tutoriales.
Las mejores herramientas de productividad para Office
Potencia tus habilidades en Excel con Kutools para Excel y experimenta una eficiencia sin precedentes. Kutools para Excel ofrece más de300 funciones avanzadas para aumentar la productividad y ahorrar tiempo. Haz clic aquí para obtener la función que más necesitas...
Office Tab lleva la interfaz de pestañas a Office y facilita mucho tu trabajo
- Habilita la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
- Abre y crea varios documentos en nuevas pestañas de la misma ventana, en lugar de nuevas ventanas.
- ¡Aumenta tu productividad en un50% y reduce cientos de clics de ratón cada día!