Kako iskati / najti vrednosti v drugem delovnem zvezku?
Ta članek govori o iskanju vrednosti in vrnitvi podatkov iz drugega delovnega zvezka ter iskanju / iskanju vrednosti iz drugega delovnega zvezka. Tukaj bom podrobno predstavil tri rešitve.
- Vlookup podatki in vrnjene vrednosti iz drugega delovnega zvezka v Excelu
- Vlookup podatki in vrnjene vrednosti iz drugega zaprtega delovnega zvezka z VBA
Vlookup podatki in vrnjene vrednosti iz drugega delovnega zvezka v Excelu
Na primer, v Excelu ustvarite tabelo Nakup sadja, zdaj pa morate sadje izvleči iz druge delovne knjige in vrniti ustrezne cene, kot je prikazano na spodnjih posnetkih zaslona. Tukaj vas bom vodil pri reševanju s funkcijo VLOOKKUP v Excelu.
1. Odprite obe delovni zvezki, iz katerih boste odvzeli vrednosti in jih vrnili.
2. Izberite prazno celico, ki ji boste vrnili ceno, vnesite formulo = VLOOKUP (B2, [Price.xlsx] List1! $ A $ 1: $ B $ 24,2, FALSE) vanj in nato povlecite ročico za polnjenje za uporabo te formule v obsegu, kot ga potrebujete.
Opombe:
(1) V zgornji formuli je B2 sadje, ki ga boste iskali iz drugega delovnega zvezka, Price.xlsx označuje ime datoteke delovnega zvezka, iz katerega boste iskali, Sheet1 pomeni ime lista, iz katerega boste iskali, in 1 USD : $ B $ 24 je obseg, iz katerega boste pogledali. Lahko jih spremenite po potrebi.
(2) Po zapiranju delovnega zvezka, iz katerega ste pogledali, se bo formula samodejno posodobila na = VLOOKUP (B2, 'W: \ test \ [Price.xlsx] Sheet1'! $ A $ 1: $ B $ 24,2, FALSE), W: \ test \ je shranjevalna pot delovnega zvezka, s katerega ste pogledali.
Do zdaj so se vse cene pravilno vrnile, kot je prikazano na levi sliki zaslona. In te cene se bodo samodejno posodobile, če se spremeni originalni delovni zvezek, ki ste ga poiskali.
Formula je preveč zapletena, da bi si jo zapomnili? Shranite formulo kot vnos samodejnega besedila za nadaljnjo uporabo z enim samim klikom v prihodnosti! Preberite več ... Brezplačen preizkus |
Vlookup podatki in vrnjene vrednosti iz drugega zaprtega delovnega zvezka z VBA
Morda je leglo zmedeno pri konfiguriranju poti za shranjevanje, imena datoteke in delovnega lista v funkciji VLOOKUP. Ta metoda bo uvedla VBA za enostavno reševanje.
1. Pritisnite druga + F11 za odpiranje okna Microsoft Visual Basic for Applications.
2. Kliknite Vstavi > Moduliin nato prilepite pod kodo VBA v okno odpiralnega modula.
VBA: Vlookup podatki in vrnjene vrednosti iz drugega zaprtega delovnega zvezka
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
Opombe: Ta VBA bo vrnil vrednosti v stolpcu, ki je za izbranim stolpcem 2 stolpca. Na primer, pri uporabi tega VBA izberem stolpec B, vrednosti se vrnejo v stolpec D. Če želite spremeniti ciljni stolpec, poiščite kodo xRg.Offset (0, 2) .Formula = xString & GetColumn (xFCell.Column + 1) & "$" & xFCell.Row in zamenjajte 2 na drugo številko, kot jo potrebujete.
3. Pritisnite F5 ali kliknite Run za zagon tega VBA.
4. V začetnem pogovornem oknu določite obseg podatkov, ki ga želite poiskati, in kliknite OK gumb.
5. Zdaj izberite delovno knjigo, v kateri boste iskali vrednosti v odpiralnem pogovornem oknu Izberite delovni zvezek, in kliknite Odprto gumb.
Zdaj se v izbrani zaprti delovni zvezki poiščejo vse izbrane vrednosti, ustrezne vrednosti pa se vrnejo v določenem stolpcu. Oglejte si posnetek zaslona:
Najboljša pisarniška orodja za produktivnost
Napolnite svoje Excelove spretnosti s Kutools za Excel in izkusite učinkovitost kot še nikoli prej. Kutools za Excel ponuja več kot 300 naprednih funkcij za povečanje produktivnosti in prihranek časa. Kliknite tukaj, če želite pridobiti funkcijo, ki jo najbolj potrebujete...
Kartica Office prinaša vmesnik z zavihki v Office in poenostavi vaše delo
- Omogočite urejanje in branje z zavihki v Wordu, Excelu, PowerPointu, Publisher, Access, Visio in Project.
- Odprite in ustvarite več dokumentov v novih zavihkih istega okna in ne v novih oknih.
- Poveča vašo produktivnost za 50%in vsak dan zmanjša na stotine klikov miške za vas!