¿Cómo buscar / encontrar valores en otro libro de trabajo?
Este artículo habla sobre cómo buscar valores y devolver datos de otro libro de trabajo, y cómo buscar / buscar valores de otro libro de trabajo. Aquí presentaré tres soluciones en detalle.
- Datos de Vlookup y valores de retorno de otro libro de trabajo en Excel
- Datos de Vlookup y valores de retorno de otro libro de trabajo cerrado con VBA
Datos de Vlookup y valores de retorno de otro libro de trabajo en Excel
Por ejemplo, está creando una tabla de compra de frutas en Excel, y ahora necesita buscar las frutas de otro libro de trabajo y devolver los precios correspondientes como se muestra a continuación. Aquí lo guiaré a resolverlo con la función VLOOKKUP en Excel.
1. Abra ambos libros de trabajo desde los que buscará valores y devolverá valores.
2. Seleccione una celda en blanco que devolverá el precio, escriba la fórmula = BUSCARV (B2, [Precio.xlsx] Hoja1! $ A $ 1: $ B $ 24,2, FALSO) en él y luego arrastre su Controlador de relleno para aplicar esta fórmula al rango que necesite.
Notas:
(1) En la fórmula anterior, B2 es la fruta que buscará en otro libro de trabajo, Price.xlsx indica el nombre de archivo del libro de trabajo desde el que buscará, Sheet1 significa el nombre de la hoja desde la que buscará y A $ 1 : $ B $ 24 es el rango desde el que buscará. Puede cambiarlos cuando lo necesite.
(2) Después de cerrar el libro de trabajo desde el que buscó, la fórmula se actualizará automáticamente a = VLOOKUP (B2, 'W: \ test \ [Price.xlsx] Sheet1'! $ A $ 1: $ B $ 24,2, FALSE), la W: \ test \ es la ruta de guardado del libro de trabajo desde el que ha buscado.
Hasta ahora, todos los precios han vuelto correctamente como se muestra en la captura de pantalla de la izquierda. Y estos precios se actualizarán automáticamente si el libro de trabajo original que buscó de los cambios.
¿La fórmula es demasiado complicada para recordar? Guarde la fórmula como una entrada de texto automático para reutilizarla con un solo clic en el futuro. Leer más ... Prueba gratis |
Datos de Vlookup y valores de retorno de otro libro de trabajo cerrado con VBA
Puede resultar confuso configurar la ruta de guardado, el nombre de archivo y la hoja de trabajo en la función BUSCARV. Este método introducirá un VBA para resolverlo fácilmente.
1. presione el otro + F11 teclas para abrir la ventana de Microsoft Visual Basic para Aplicaciones.
2. Haga clic en el recuadro > Módulo, y luego pegue debajo del código VBA en la ventana del módulo de apertura.
VBA: datos de Vlookup y valores de retorno de otro libro cerrado
Private Function GetColumn(Num As Integer) As String
If Num <= 26 Then
GetColumn = Chr(Num + 64)
Else
GetColumn = Chr((Num - 1) \ 26 + 64) & Chr((Num - 1) Mod 26 + 65)
End If
End Function
Sub FindValue()
Dim xAddress As String
Dim xString As String
Dim xFileName As Variant
Dim xUserRange As Range
Dim xRg As Range
Dim xFCell As Range
Dim xSourceSh As Worksheet
Dim xSourceWb As Workbook
On Error Resume Next
xAddress = Application.ActiveWindow.RangeSelection.Address
Set xUserRange = Application.InputBox("Lookup values :", "Kutools for Excel", xAddress, Type:=8)
If Err <> 0 Then Exit Sub
Set xUserRange = Application.Intersect(xUserRange, Application.ActiveSheet.UsedRange)
xFileName = Application.GetOpenFilename("Excel Files (*.xlsx), *.xlsx", 1, "Select a Workbook")
If xFileName = False Then Exit Sub
Application.ScreenUpdating = False
Set xSourceWb = Workbooks.Open(xFileName)
Set xSourceSh = xSourceWb.Worksheets.Item(1)
xString = "='" & xSourceWb.Path & Application.PathSeparator & _
"[" & xSourceWb.Name & "]" & xSourceSh.Name & "'!$"
For Each xRg In xUserRange
Set xFCell = xSourceSh.Cells.Find(xRg.Value, , xlValues, xlWhole, , , False)
If Not (xFCell Is Nothing) Then
xRg.Offset(0, 2).Formula = xString & GetColumn(xFCell.Column + 1) & "$" & xFCell.Row
End If
Next
xSourceWb.Close False
Application.ScreenUpdating = True
End Sub
Note: Este VBA devolverá valores en una columna que está 2 columnas detrás de la columna seleccionada. Por ejemplo, selecciono la columna B al aplicar este VBA, los valores volverán en la columna D. Si necesita cambiar la columna de destino, averigüe el código xRg.Offset (0, 2) .Formula = xString & GetColumn (xFCell.Column + 1) & "$" & xFCell.Row y reemplazar 2 a otro número que necesite.
3. presione el F5 o haga clic en el Ejecutar botón para ejecutar este VBA.
4. En el cuadro de diálogo de apertura, especifique el rango de datos que buscará y haga clic en el OK del botón.
5. Ahora, seleccione el libro de trabajo donde buscará los valores en el cuadro de diálogo de apertura Seleccionar un libro de trabajo y haga clic en el Abierto del botón.
Ahora todos los valores seleccionados se buscan en el libro cerrado especificado y los valores correspondientes se devuelven en la columna especificada. Ver captura de pantalla:
Las mejores herramientas de productividad de oficina
Mejore sus habilidades de Excel con Kutools for Excel y experimente la eficiencia como nunca antes. Kutools for Excel ofrece más de 300 funciones avanzadas para aumentar la productividad y ahorrar tiempo. Haga clic aquí para obtener la función que más necesita...
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!