Note: The other languages of the website are Google-translated. Back to English
Zaloguj Się  \/ 
x
or
x
Zarejestruj się  \/ 
x

or

Jak wyszukiwać / znajdować wartości w innym skoroszycie?

W tym artykule omówiono sposób wyszukiwania wartości i zwracania danych z innego skoroszytu oraz znajdowania / wyszukiwania wartości z innego skoroszytu. Tutaj szczegółowo przedstawię trzy rozwiązania.


Przeglądaj dane i zwracaj wartości z innego skoroszytu w programie Excel

Na przykład tworzysz tabelę zakupów owoców w programie Excel, a teraz musisz przejrzeć owoce z innego skoroszytu i zwrócić odpowiednie ceny, jak pokazano poniżej. Tutaj poprowadzę Cię przez rozwiązanie tego problemu za pomocą funkcji WYSZUKAJ.PIONOWO w programie Excel.

1. Otwórz oba skoroszyty, z których będziesz przeglądać wartości i zwracaj wartości.

2. Wybierz pustą komórkę, którą zwrócisz cenę, wpisz formułę = WYSZUKAJ.PIONOWO (B2; [Price.xlsx] Arkusz1! $ A 1: $ B 24,2; FAŁSZ) do niego, a następnie przeciągnij jego uchwyt wypełnienia, aby zastosować tę formułę do zakresu zgodnie z potrzebami.

Uwagi:
(1) W powyższym wzorze B2 jest owocem, na który spojrzysz z innego skoroszytu, Price.xlsx wskazuje nazwę pliku skoroszytu, z którego będziesz patrzeć, Arkusz1 oznacza nazwę arkusza, z którego będziesz patrzeć, a 1 $ : B $ 24 $ to zakres, z którego będziesz patrzeć w górę. Możesz je zmieniać według potrzeb.
(2) Po zamknięciu skoroszytu, z którego wyszedłeś, formuła zostanie automatycznie zaktualizowana do = WYSZUKAJ.PIONOWO (B2; 'W: \ test \ [Price.xlsx] Sheet1'! $ A $ 1: $ B $ 24,2; FALSE), W: \ test \ jest ścieżką zapisu skoroszytu, z którego wyszukałeś.

Jak dotąd wszystkie ceny wróciły poprawnie, jak pokazano na lewym zrzucie ekranu. Ceny te zostaną zaktualizowane automatycznie, jeśli oryginalny skoroszyt wyszukałeś po zmianach.

uwaga wstążka Formuła jest zbyt skomplikowana, by ją zapamiętać? Zapisz formułę jako wpis Auto Text do ponownego użycia za pomocą jednego kliknięcia w przyszłości!
Czytaj więcej ...     Przetestuj za darmo

Przeglądaj dane i zwracaj wartości z innego zamkniętego skoroszytu z VBA

Konfigurowanie ścieżki zapisu, nazwy pliku i arkusza roboczego w funkcji WYSZUKAJ.PIONOWO może być mylące. Ta metoda wprowadzi VBA, aby łatwo go rozwiązać.

1. wciśnij inny + F11 klawisze, aby otworzyć okno Microsoft Visual Basic for Applications.

2. Kliknij wstawka > Moduł, a następnie wklej poniższy kod VBA do okna modułu otwierającego.

VBA: Vlookup dane i zwracane wartości z innego zamkniętego skoroszytu

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
Uwagi: Ten VBA zwróci wartości w kolumnie znajdującej się 2 kolumny za wybraną kolumną. Na przykład wybieram kolumnę B podczas stosowania tego VBA, wartości zwrócą się w kolumnie D. Jeśli chcesz zmienić kolumnę docelową, znajdź kod xRg.Offset (0, 2) .Formula = xString & GetColumn (xFCell.Column + 1) & "$" & xFCell.Row i wymień 2 na inny numer, jak potrzebujesz.

3. wciśnij F5 lub kliknij run przycisk, aby uruchomić ten VBA.

4. W otwartym oknie dialogowym określ zakres danych, które chcesz przeszukać, i kliknij OK przycisk.

5. Teraz wybierz skoroszyt, w którym będziesz szukać wartości w otwierającym się oknie dialogowym Wybierz skoroszyt, i kliknij Załóż przycisk.

Teraz wszystkie wybrane wartości są wyszukiwane w określonym zamkniętym skoroszycie, a odpowiadające im wartości są zwracane w określonej kolumnie. Zobacz zrzut ekranu:


Najlepsze narzędzia biurowe

Kutools dla programu Excel rozwiązuje większość problemów i zwiększa produktywność o 80%

  • Ponowne użycie: Szybko włóż złożone wzory, wykresy i wszystko, czego używałeś wcześniej; Szyfruj komórki z hasłem; Utwórz listę mailingową i wysyłaj e-maile ...
  • Pasek Super Formula (łatwo edytować wiele wierszy tekstu i formuły); Układ do czytania (łatwe odczytywanie i edytowanie dużej liczby komórek); Wklej do filtrowanego zakresu...
  • Scal komórki / wiersze / kolumny bez utraty danych; Podziel zawartość komórek; Połącz zduplikowane wiersze / kolumny... Zapobiegaj zduplikowanym komórkom; Porównaj zakresy...
  • Wybierz Duplikat lub Unikalny Wydziwianie; Wybierz puste wiersze (wszystkie komórki są puste); Super Find i Fuzzy Find w wielu zeszytach ćwiczeń; Losowy wybór ...
  • Dokładna kopia Wiele komórek bez zmiany odwołania do formuły; Automatyczne tworzenie odniesień do wielu arkuszy; Wstaw punktory, Pola wyboru i nie tylko ...
  • Wyodrębnij tekst, Dodaj tekst, Usuń według pozycji, Usuń przestrzeń; Tworzenie i drukowanie podsumowań stronicowania; Konwertuj zawartość komórek i komentarze...
  • Super filtr (zapisz i zastosuj schematy filtrów do innych arkuszy); Zaawansowane sortowanie według miesiąca / tygodnia / dnia, częstotliwości i innych; Specjalny filtr pogrubieniem, kursywą ...
  • Połącz skoroszyty i arkusze robocze; Scal tabele na podstawie kluczowych kolumn; Podziel dane na wiele arkuszy; Konwersja wsadowa xls, xlsx i PDF...
  • Ponad 300 zaawansowanych funkcji. Obsługuje Office / Excel 2007-2019 i 365. Obsługuje wszystkie języki. Łatwe wdrażanie w przedsiębiorstwie lub organizacji. Pełne funkcje 30-dniowy bezpłatny okres próbny. 60-dniowa gwarancja zwrotu pieniędzy.
karta kte 201905

Karta Office wprowadza interfejs z zakładkami do pakietu Office i znacznie ułatwia pracę

  • Włącz edycję i czytanie na kartach w programach Word, Excel, PowerPoint, Publisher, Access, Visio i Project.
  • Otwieraj i twórz wiele dokumentów w nowych kartach tego samego okna, a nie w nowych oknach.
  • Zwiększa produktywność o 50% i redukuje setki kliknięć myszą każdego dnia!
officetab dół
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    leigh_87 · 2 years ago
    Hi this works great thanks! Would it be at all possible to show me how i would change the code if i have the workbook open that i would like to lookup the data in?