Cum să căutați / găsiți valori într-un alt registru de lucru?
Acest articol vorbește despre cum să căutați valori și să returnați datele dintr-un alt registru de lucru și despre cum să găsiți / să căutați valori dintr-un alt registru de lucru. Aici voi introduce în detaliu trei soluții.
- Vlookup date și returnează valorile dintr-un alt registru de lucru în Excel
- Date Vlookup și returnează valorile dintr-un alt registru de lucru închis cu VBA
Vlookup date și returnează valorile dintr-un alt registru de lucru în Excel
De exemplu, creați un tabel de cumpărare de fructe în Excel, iar acum trebuie să căutați fructele dintr-un alt registru de lucru și să returnați prețurile corespunzătoare, după cum se arată în capturile de ecran de mai jos. Aici vă voi ghida să o rezolvați cu funcția VLOOKKUP în Excel.
1. Deschideți ambele registre de lucru din care veți căuta valori și le veți returna.
2. Selectați o celulă necompletată pentru care veți returna prețul, tastați formula = VLOOKUP (B2, [Preț.xlsx] Foaie1! $ A $ 1: $ B $ 24,2, FALS) în el și apoi trageți mânerul de umplere pentru a aplica această formulă în intervalul dorit.
notițe:
(1) În formula de mai sus, B2 este fructul pe care îl veți căuta dintr-un alt registru de lucru, Price.xlsx indică numele fișierului registrului de lucru din care veți căuta, Foaia 1 înseamnă numele foii din care veți căuta și A $ 1 : $ B $ 24 este intervalul din care veți căuta. Le puteți schimba după cum aveți nevoie.
(2) După închiderea registrului de lucru din care ați căutat, formula se va actualiza automat la = VLOOKUP (B2, 'W: \ test \ [Price.xlsx] Sheet1'! $ A $ 1: $ B $ 24,2, FALS), W: \ test \ este calea de salvare a registrului de lucru din care ați căutat.
Până în prezent, toate prețurile au revenit corect așa cum este afișat ecranul din stânga. Și aceste prețuri se vor actualiza automat dacă registrul de lucru original ați căutat din modificări.
Formula este prea complicată pentru a ne aminti? Salvați formula ca intrare Text automat pentru reutilizare cu un singur clic în viitor! Citeste mai mult… Încercare gratuită |
Deblocați Excel Magic cu Kutools AI
- Execuție inteligentă: Efectuați operații cu celule, analizați date și creați diagrame, toate conduse de comenzi simple.
- Formule personalizate: generați formule personalizate pentru a vă simplifica fluxurile de lucru.
- Codare VBA: Scrieți și implementați codul VBA fără efort.
- Interpretarea formulei: Înțelegeți cu ușurință formulele complexe.
- Traducere text: spargeți barierele lingvistice din foile de calcul.
Date Vlookup și returnează valorile dintr-un alt registru de lucru închis cu VBA
Poate fi o confuzie confuză pentru a configura calea de salvare, numele fișierului și foaia de lucru în funcția VLOOKUP. Această metodă va introduce un VBA pentru a-l rezolva cu ușurință.
1. apasă pe Alt + F11 tastele pentru a deschide fereastra Microsoft Visual Basic pentru aplicații.
2. Faceți clic pe Insera > Module, și apoi lipiți mai jos codul VBA în fereastra modulului de deschidere.
VBA: date Vlookup și valori returnate dintr-un alt registru de lucru închis
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
notițe: Acest VBA va returna valorile într-o coloană care se află la 2 coloane în spatele coloanei selectate. De exemplu, selectez coloana B atunci când aplic acest VBA, valorile vor reveni în coloana D. Dacă trebuie să schimbați coloana de destinație, vă rugăm să aflați codul xRg.Offset (0, 2) .Formula = xString & GetColumn (xFCell.Column + 1) & "$" & xFCell.Row , și înlocuiți 2 la alt număr, după cum aveți nevoie. 3. apasă pe F5 tasta sau faceți clic pe Alerga pentru a rula acest VBA.
4. În caseta de dialog de deschidere, vă rugăm să specificați intervalul de date pe care îl veți căuta și faceți clic pe OK butonul.
5. Acum, vă rugăm să selectați registrul de lucru în care veți căuta valori în caseta de dialog Selectați un registru de lucru și faceți clic pe Operatii Deschise butonul.
Acum toate valorile selectate sunt căutate în registrul de lucru închis specificat, iar valorile corespunzătoare sunt returnate la coloana specificată. Vedeți captura de ecran:
Cele mai bune instrumente de productivitate de birou
Îmbunătățiți-vă abilitățile Excel cu Kutools pentru Excel și experimentați eficiența ca niciodată. Kutools pentru Excel oferă peste 300 de funcții avansate pentru a crește productivitatea și a economisi timp. Faceți clic aici pentru a obține funcția de care aveți cea mai mare nevoie...
Fila Office aduce interfața cu file în Office și vă face munca mult mai ușoară
- Activați editarea și citirea cu file în Word, Excel, PowerPoint, Publisher, Access, Visio și Project.
- Deschideți și creați mai multe documente în filele noi ale aceleiași ferestre, mai degrabă decât în ferestrele noi.
- Vă crește productivitatea cu 50% și reduce sute de clicuri de mouse pentru dvs. în fiecare zi!