LibreOffice Calc VLOOKUP vs XLOOKUP: Przewodnik po funkcjach dla początkujących
LibreOffice Calc oferuje więcej niż jeden sposób wyszukiwania wartości w tabeli i zwracania powiązanych danych. Przez lata powszechnie stosowaną opcją była funkcja WYSZUKAJ.PIONOWO . Obecnie Calc zawiera również funkcję XLOOKUP , nowszą funkcję wyszukiwania, która eliminuje kilka ograniczeń funkcji WYSZUKAJ.PIONOWO i jest zazwyczaj łatwiejsza w obsłudze.
Ten przewodnik zaczyna się od podstawowego modelu mentalnego, a następnie omawia praktyczne formuły, które można skopiować do małego arkusza kalkulacyjnego. Wyjaśnia również, gdzie funkcja INDEKS/PODAJ.POZYCJĘ nadal pasuje, co może pójść nie tak i która funkcja ma sens w nowym skoroszycie.
Co należy wiedzieć przed użyciem funkcji wyszukiwania?
Wyszukiwanie przeszukuje jeden zakres w poszukiwaniu klucza, takiego jak identyfikator produktu, a następnie zwraca powiązaną wartość, na przykład cenę produktu. Kluczem wyszukiwania może być tekst, liczba, data lub odwołanie do komórki.
W aktualnej Pomocy LibreOffice funkcja XLOOKUP jest udokumentowana jako nowoczesny zamiennik funkcji WYSZUKAJ.PIONOWO, WYSZUKAJ.POZIOMO i WYSZUKAJ. Funkcja XLOOKUP jest dostępna od wersji LibreOffice 24.8. Aktualna Pomoc LibreOffice 26.8 dokumentuje dopasowanie dokładne i przybliżone, dopasowanie z symbolami wieloznacznymi i wyrażeniami regularnymi, wyszukiwanie odwrotne oraz wyszukiwanie binarne. Zobacz oficjalną dokumentację XLOOKUP LibreOffice .
Jeden szczegół, który często zaskakuje osoby przechodzące z programu Microsoft Excel: przykłady formuł w LibreOffice często używają średników między argumentami. Na przykład: =XLOOKUP(F2;A2:A6;D2:D6). Calc może dostosować separatory do ustawień regionalnych, więc postępuj zgodnie z separatorami akceptowanymi przez instalację.
VLOOKUP kontra XLOOKUP w skrócie
Zdolność
WYSZUKAJ.PIONOWO
XLOOKUP
Dokładne dopasowanie
Tak, ale zazwyczaj określasz 0/FAŁSZ
Tak; dokładne dopasowanie jest ustawieniem domyślnym
Zwróć wartość po lewej stronie kolumny wyszukiwania
Nie, nie bezpośrednio
Tak
Oddzielne zakresy wyszukiwania i zwracania
Nie; używa jednej tablicy tabel i indeksu kolumn
Tak
Wbudowany wynik, gdy nie znaleziono dopasowania
Brak dedykowanego argumentu
Tak
Wyszukaj od ostatniego do pierwszego elementu
Brak bezpośredniego argumentu trybu wyszukiwania
Tak
Przybliżone dopasowanie
Tak
Tak, z wyraźnymi trybami dopasowania
Dostępne w LibreOffice w wersjach starszych niż 24.8
Tak
NIE
Przygotuj mały stół do ćwiczeń
Utwórz kolumny od A do D z nagłówkami: ID produktu , Nazwa produktu , Kategoria i Cena . Dodaj kilka identyfikatorów, takich jak P001 do P005. Wpisz identyfikator, którego szukasz, w F2 i umieść formułę w G2.
Formuły w Calcu rozpoczynają się znakiem równości. Można je wpisać bezpośrednio do komórki lub na pasku formuł; oficjalny przewodnik po wprowadzaniu formuł LibreOffice opisuje obie metody.
Krok 1: Użyj funkcji WYSZUKAJ.PIONOWO, aby uzyskać podstawowe dopasowanie dokładne
Załóżmy, że P004 znajduje się w kolumnie F2 i chcesz uzyskać cenę z kolumny D. Wprowadź:
=VLOOKUP(F2;$A$2:$D$6;4;0)
Argumenty oznaczają: wyszukaj wartość w komórce F2, przeszukaj pierwszą kolumnę komórek A2:D6, zwróć wartość z czwartej kolumny tej tabeli i wymuś dokładne dopasowanie. Znaki dolara tworzą odwołania bezwzględne , które utrzymują stały zakres wyszukiwania po skopiowaniu formuły do innych komórek.
Podstawowe dopasowanie dokładne funkcji WYSZUKAJ.PIONOWO: klawisz wyszukiwania znajduje się w F2, tabela ma postać A2:D6, a kolumna 4 zawiera cenę.
LibreOffice dokumentuje funkcję WYSZUKAJ.PIONOWO jako wyszukiwanie pionowe, w którym szukana wartość musi znajdować się w pierwszej kolumnie tablicy, a wartość zwracana pochodzi z kolumny po jej prawej stronie. Ostrzega również, że jeśli ostatni argument zostanie pominięty lub będzie miał wartość PRAWDA, funkcja zakłada posortowane dane i może zwrócić przybliżone dopasowanie. Przed skorzystaniem z przybliżonego działania funkcji WYSZUKAJ.PIONOWO zapoznaj się z oficjalnym dokumentem informacyjnym dotyczącym funkcji arkusza kalkulacyjnego LibreOffice .
Krok 2: Użyj funkcji XLOOKUP, gdy kolumna zwracana znajduje się po lewej stronie
Teraz przeorganizuj tabelę tak, aby nazwa produktu znajdowała się w kolumnie A, a identyfikator produktu w kolumnie C. W przypadku funkcji WYSZUKAJ.PIONOWO taki układ jest niewygodny, ponieważ funkcja przeszukuje tylko pierwszą kolumnę tablicy tabeli i zwraca wartości po prawej stronie.
Funkcja XLOOKUP oddziela tablicę wyszukiwania od tablicy wyników . Aby znaleźć P003 w kolumnie C i zwrócić nazwę produktu z kolumny A, użyj:
=XLOOKUP(F2;$C$2:$C$6;$A$2:$A$6;"Not found")
Funkcja XLOOKUP może przeszukać jedną kolumnę i zwrócić wartość z kolumny znajdującej się po jej lewej stronie, bez konieczności przeorganizowywania tabeli.
Czwartym argumentem jest wartość zwracana w przypadku braku dopasowania. Dzięki temu formuła jest łatwiejsza do odczytania niż umieszczanie wyszukiwania w osobnej funkcji obsługi błędów w tym typowym przypadku.
Krok 3: Obsługuj brakujące identyfikatory bez ujawniania #N/A
Jeśli użytkownik wprowadzi nieistniejący identyfikator, zwykłe wyszukiwanie dokładne zazwyczaj zwraca wynik #N/A. W funkcji XLOOKUP umieść przyjazny wynik w czwartym argumencie:
=XLOOKUP(F2;$A$2:$A$6;$D$2:$D$6;"Not found";0)
Tryb 0dopasowania wyraźnie żąda dokładnego dopasowania, chociaż dokładne dopasowanie jest już domyślne dla funkcji XLOOKUP. Wpisanie go może być jednak przydatne, gdy chcesz, aby cel formuły był oczywisty dla osoby przeglądającej arkusz.
Funkcja XLOOKUP może zwrócić czytelny komunikat zapasowy, taki jak „Nie znaleziono”, gdy dokładne dopasowanie jest niedostępne.
Nie ukrywaj automatycznie każdego błędu. Jeśli identyfikator powinien zawsze istnieć, #N/Amoże to być cenne, ponieważ ujawnia błędne lub niekompletne dane źródłowe. Używaj wygodnego rozwiązania awaryjnego, gdy spodziewane są braki kluczy, a nie gdy wskazują one na problem z jakością danych.
Krok 4: Wyszukaj od dołu, aby uzyskać najnowszy pasujący rekord
Czasami klucz pojawia się więcej niż raz. Na przykład dziennik transakcji może zawierać kilka wierszy dla klienta C001. Funkcja XLOOKUP ma argument „Tryb wyszukiwania” . Jest to wartość -1wyszukiwania od ostatniego elementu do pierwszego.
Aby zwrócić kwotę z ostatniego wiersza zawierającego identyfikator klienta w F2, należy użyć:
=XLOOKUP(F2;$A$2:$A$8;$D$2:$D$8;"Not found";0;-1)
W trybie wyszukiwania -1 funkcja XLOOKUP rozpoczyna wyszukiwanie od dołu tablicy i zwraca ostatni pasujący rekord klienta.
Oficjalny podręcznik XLOOKUP definiuje tryb wyszukiwania 1jako pierwszy do ostatniego i -1ostatni do pierwszego. Zawiera również tryby wyszukiwania binarnego 2i -2, ale wymagają one poprawnie posortowanych danych. Użycie wyszukiwania binarnego w niesortowanych danych może zwrócić nieprawidłowe wyniki.
Kiedy nadal należy stosować funkcje INDEX i MATCH?
Zanim funkcja XLOOKUP pojawiła się w Calc 24.8, powszechną i elastyczną alternatywą były funkcje INDEKS i PODAJ.POZYCJĘ . PODAJ.POZYCJĘ znajduje względną pozycję klucza; INDEKS zwraca wartość w tej pozycji. Na przykład:
=INDEX($D$2:$D$6;MATCH(F2;$A$2:$A$6;0))
Funkcja ta jest przydatna, gdy potrzebna jest zgodność ze starszymi instalacjami LibreOffice lub gdy istniejący skoroszyt korzysta już konsekwentnie z funkcji INDEKS/PODAJ. Oficjalny podręcznik funkcji arkusza kalkulacyjnego dokumentuje zarówno funkcję INDEKS, jak i PODAJ .
Calc oferuje również funkcję XMATCH od wersji LibreOffice 24.8. XMATCH dodaje tryby wyszukiwania i dopasowywania podobne do XLOOKUP, w tym wyszukiwanie wsteczne. Zobacz oficjalną dokumentację XMATCH dla LibreOffice .
Typowe błędy, których należy unikać
Pozostawienie ostatniego argumentu funkcji WYSZUKAJ.PIONOWO pustego, gdy potrzebne jest dokładne dopasowanie
W przypadku funkcji WYSZUKAJ.PIONOWO pominięcie ostatniego argumentu powoduje zachowanie sortowanego zakresu. W przypadku identyfikatorów produktów, numerów pracowników, kodów SKU i innych identyfikatorów dyskretnych należy użyć parametru 0lub FAŁSZ, aby uzyskać dokładne dopasowanie, chyba że dopasowanie przybliżone jest celowo uwzględnione w projekcie.
Zliczanie nieprawidłowego indeksu kolumny funkcji WYSZUKAJ.PIONOWO
Indeks kolumny funkcji WYSZUKAJ.PIONOWO jest liczony od pierwszej kolumny tablicy tabeli, a nie od liter kolumn arkusza kalkulacyjnego. W komórkach A2:D6 kolumna D ma indeks 4. Jeśli później wstawisz kolumnę do tej tabeli, zakodowany na stałe indeks może już nie odnosić się do zamierzonego pola.
Używanie zakresów o różnej długości w funkcji XLOOKUP
Tablica wyszukiwania i tablica wyników powinny być wyrównane wiersz po wierszu lub kolumna po kolumnie. Zakres wyszukiwania taki jak A2:A100 w połączeniu z D2:D90 jest błędem projektowym, ponieważ odpowiadające sobie pozycje nie obejmują tych samych rekordów.
Korzystanie z wyszukiwania binarnego w niesortowanych danych
Tryb wyszukiwania XLOOKUP 2 wymaga kolejności rosnącej, a tryb -2 – malejącej. Dokumentacja LibreOffice wyraźnie ostrzega, że niesortowane dane mogą generować nieprawidłowe wyniki. Jeśli nie kontrolujesz sortowania, użyj standardowych trybów wyszukiwania do przodu lub do tyłu.
Mylenie symboli wieloznacznych z wyrażeniami regularnymi
Calc obsługuje dopasowywanie symboli wieloznacznych i wyrażeń regularnych, ale w funkcji XLOOKUP są to oddzielne tryby dopasowania. Tryb symboli wieloznacznych używa znaków takich jak *i ?; tryb wyrażeń regularnych korzysta z mechanizmu wyrażeń regularnych Calca. Wybierz tryb świadomie, zamiast zakładać, że wzorzec zostanie zinterpretowany automatycznie.
Którą funkcję wyszukiwania powinien wybrać początkujący?
W przypadku nowego arkusza kalkulacyjnego działającego w LibreOffice 24.8 lub nowszym, należy zacząć od funkcji XLOOKUP. Oddzielne zakresy wyszukiwania i wyników są łatwiejsze do odczytania, domyślne jest dopasowanie dokładne, zwroty po lewej stronie są proste, a wbudowane opcje wyszukiwania „nie znaleziono” i wyszukiwania odwrotnego redukują potrzebę stosowania obejść formuł.
Użyj funkcji WYSZUKAJ.PIONOWO, gdy utrzymujesz istniejący skoroszyt zbudowany na jej podstawie, udostępniasz go środowiskom, w których obsługa funkcji WYSZUKAJ.PIONOWO jest niepewna, lub pracujesz z prostą, stabilną tabelą, której ograniczenia nie mają znaczenia. Użyj funkcji INDEKS/PODAJ.POZYCJĘ, gdy ważna jest zgodność ze starszym pakietem LibreOffice lub skoroszyt już stosuje ten wzorzec.
Najważniejszym nawykiem nie jest zapamiętywanie każdego argumentu. Zamiast tego, przed napisaniem formuły, określ cztery rzeczy: jakiej wartości szukam, gdzie szukam, jaki zakres powinien dostarczyć odpowiedź i co się stanie, jeśli klucz będzie brakujący? Gdy te kwestie będą jasne, wybór między funkcją WYSZUKAJ.PIONOWO, WYSZUKAJ.X i INDEKS/PODAJ.POZYCJĘ stanie się znacznie łatwiejszy.