Menu

PODAJ.POZYCJĘ (MATCH) w Excelu: pozycja wartości na liście

=PODAJ.POZYCJĘ(E2;A2:A6;0) zwraca pozycję E2 w A2:A6: 4, jeśli to czwarty element. Typy dopasowania 0, 1 i -1, symbole wieloznaczne, dopasowanie z rozróżnianiem wielkości liter i sprawdzanie, czy wartość jest na liście.

Każdy arkusz na tej stronie działa na żywo: zmień liczbę albo formułę, a się przeliczy.

=PODAJ.POZYCJĘ(E2;A2:A6;0) (po angielsku MATCH) zwraca pozycję wartości z E2 w zakresie A2:A6: 1 dla pierwszej komórki, 2 dla drugiej i tak dalej. 0 oznacza dopasowanie dokładne. PODAJ.POZYCJĘ zwraca liczbę, a nie samą wartość, i dlatego zwykle łączy się ją z INDEKS. Tabele pokazują formuły po angielsku, =MATCH(E2,A2:A6,0), ale możesz w nich wpisywać formuły także po polsku, ze średnikami.

Pozycja produktu na liście
F2
ABCDEF
1ProductCategoryPriceLook forPosition
2AppleFruit$1.20Bread4
3PearFruit$1.50
4CarrotVegetable$0.80
5BreadBakery$2.40
6MilkDairy$1.10
Kliknij komórkę, aby zobaczyć jej formułę. Zmień liczbę albo formułę, a arkusz przeliczy się na nowo.W polskim Excelu: =PODAJ.POZYCJĘ(E2;A2:A6;0)

Bread to czwarta komórka A2:A6, więc F2 pokazuje 4. Liczenie zaczyna się od pierwszej komórki zakresu, a nie od wiersza 1 arkusza: zmień zakres na A1:A6, a odpowiedź wyniesie 5. Wpisz Kiwi w E2, a PODAJ.POZYCJĘ zwróci #N/D! (po angielsku #N/A; tabele pokazują angielskie nazwy błędów).

Składnia funkcji PODAJ.POZYCJĘ i typy dopasowania

=MATCH(lookup_value, lookup_array, [match_type])
match_typeCo znajdujeLista musi być
0Pierwszą wartość dokładnie równą lookup_value. Dla tekstu dozwolone symbole wieloznaczne.w dowolnej kolejności
1 albo pominiętyNajwiększą wartość mniejszą lub równą lookup_value.posortowana rosnąco
-1Najmniejszą wartość większą lub równą lookup_value.posortowana malejąco

Domyślny jest 1, a nie 0. PODAJ.POZYCJĘ bez trzeciego argumentu na nieposortowanej liście nazw nie zgłasza błędu: zwraca pozycję, która może należeć do innego wiersza. Wpisuj 0 za każdym razem, gdy szukasz tekstu, kodów albo identyfikatorów.

Dopasowanie przybliżone: w którym przedziale jest wartość

Z typem dopasowania 1 PODAJ.POZYCJĘ odpowiada na pytanie „który przedział”: zwraca pozycję ostatniego progu, który wartość osiągnęła. Tutaj wynik 75 przekroczył 0, 60 i 70, więc jest w przedziale 3, ocena C.

Przedział wyniku
E2
ABCDEF
1Min scoreGradeScoreBandGrade
20F753C
360D591F
470C905A
580B1005A
690A
Kliknij komórkę, aby zobaczyć jej formułę. Zmień liczbę albo formułę, a arkusz przeliczy się na nowo.W polskim Excelu: =PODAJ.POZYCJĘ(D2;$A$2:$A$6;1)

59 jest nadal poniżej 60, więc to przedział 1 (F). 90 to dokładne dopasowanie do ostatniego progu, a 100 jest powyżej niego, więc oba trafiają do przedziału 5 (A). Progi muszą zostać w kolejności rosnącej: dzięki temu PODAJ.POZYCJĘ zatrzymuje się we właściwym miejscu. W polskim Excelu formuły z E2 i F2 to =PODAJ.POZYCJĘ(D2;$A$2:$A$6;1) i =INDEKS($B$2:$B$6;E2).

Typ dopasowania -1 to lustrzane odbicie dla listy posortowanej od największej do najmniejszej. Zwraca pozycję najmniejszej wartości, która jest jeszcze większa lub równa szukanej: przy rozmiarach {50;25;12;5} w kolumnie =PODAJ.POZYCJĘ(18;D2:D5;-1) zwraca 2, czyli rozmiar 25, najmniejszy, który pomieści 18.

Symbole wieloznaczne i wielkość liter

PODAJ.POZYCJĘ nie rozróżnia wielkości liter, a przy typie dopasowania 0 przyjmuje symbole wieloznaczne * (dowolne znaki) i ? (dokładnie jeden znak). Aby rozróżniać wielkość liter, porównaj listę funkcją PORÓWNAJ (EXACT) i szukaj pierwszego PRAWDA.

Trzy sposoby dopasowania tekstu
E1
ABCDE
1ProductCategoryPriceStarts with "C"3
2AppleFruit$1.20Lower case "milk"5
3PearFruit$1.50Exactly "milk"#N/A
4CarrotVegetable$0.80
5BreadBakery$2.40
6MilkDairy$1.10
Kliknij komórkę, aby zobaczyć jej formułę. Zmień liczbę albo formułę, a arkusz przeliczy się na nowo.W polskim Excelu: =PODAJ.POZYCJĘ("C*";A2:A6;0)

"C*" pasuje do Carrot, pozycja 3. "milk" znajduje Milk na pozycji 5, bo wielkość liter jest ignorowana. Wersja z PORÓWNAJ porównuje każdą nazwę z "milk" z uwzględnieniem wielkości liter, nie znajduje żadnego PRAWDA i zwraca #N/D!. W polskim Excelu ta formuła to =PODAJ.POZYCJĘ(PRAWDA;PORÓWNAJ(A2:A6;"milk");0). Zmień A6 na milk, a zwróci 5. W Excelu 2019 i starszym zatwierdź formułę z PORÓWNAJ przez Ctrl+Shift+Enter (Cmd+Shift+Enter na Macu); w Excelu 2021 i Microsoft 365 wystarczy Enter. Tylda sprawia, że symbol wieloznaczny jest traktowany dosłownie: "~*" szuka prawdziwej gwiazdki.

Czy wartość jest na liście

PODAJ.POZYCJĘ zwraca liczbę, gdy znajdzie wartość, i #N/D!, gdy jej nie znajdzie. CZY.LICZBA zamienia to w PRAWDA albo FAŁSZ, co daje szybki test „czy to jest na liście”.

Które zamówione produkty są w magazynie?
B2
ABCD
1OrderedIn stock?In stock
2PearYesApple
3KiwiNoPear
4MilkYesBread
5PlumNoMilk
6BreadYes
Kliknij komórkę, aby zobaczyć jej formułę. Zmień liczbę albo formułę, a arkusz przeliczy się na nowo.W polskim Excelu: =JEŻELI(CZY.LICZBA(PODAJ.POZYCJĘ(A2;$D$2:$D$5;0));"Yes";"No")

Pear, Milk i Bread są w D2:D5, więc pokazują Yes. Kiwi i Plum pokazują No. W polskim Excelu formuła z B2 to =JEŻELI(CZY.LICZBA(PODAJ.POZYCJĘ(A2;$D$2:$D$5;0));"Yes";"No"). LICZ.JEŻELI($D$2:$D$5;A2)>0 daje tę samą odpowiedź; PODAJ.POZYCJĘ zatrzymuje się na pierwszym trafieniu, a LICZ.JEŻELI liczy wszystkie.

PODAJ.POZYCJĘ, X.DOPASUJ i INDEKS

PODAJ.POZYCJĘ to połowa klasycznego wyszukiwania =INDEKS(C2:C6;PODAJ.POZYCJĘ(E2;A2:A6;0)), które wyjaśnia strona INDEKS i PODAJ.POZYCJĘ. Excel 2021 i Microsoft 365 dodają X.DOPASUJ (XMATCH), która domyślnie szuka dopasowania dokładnego, potrafi szukać od ostatniego elementu w górę i obsługuje „następne większe” bez sortowania malejącego. PODAJ.POZYCJĘ nadal działa wszędzie, także w plikach, które muszą się otwierać w Excelu 2019.

Ćwiczenie: pozycja pracownika

Lista zespołu
F2
ABCDEF
1NameTeamStart yearNamePosition
2AnaSales2019Dev
3BenSupport2021
4CaraSales2018
5DevFinance2022
6EliSupport2020
7FayFinance2023
Kliknij komórkę, aby zobaczyć jej formułę. Zmień liczbę albo formułę, a arkusz przeliczy się na nowo.

Twoja kolej: W F2 zwróć pozycję imienia z E2 na liście w kolumnie A.

Najczęściej zadawane pytania

Co zwraca PODAJ.POZYCJĘ w Excelu?

Pozycję, a nie wartość: =PODAJ.POZYCJĘ("Bread";A2:A6;0) zwraca 4, gdy Bread jest czwartą komórką A2:A6. Połącz ją z INDEKS, aby pobrać wartość z tej pozycji w innej kolumnie.

Czym różnią się typy dopasowania 0, 1 i -1?

0 znajduje dopasowanie dokładne przy dowolnej kolejności. 1 (domyślny) znajduje największą wartość mniejszą lub równą szukanej i wymaga listy posortowanej rosnąco. -1 znajduje najmniejszą wartość większą lub równą szukanej i wymaga listy posortowanej malejąco.

Czy PODAJ.POZYCJĘ rozróżnia wielkość liter?

Nie. =PODAJ.POZYCJĘ("milk";A2:A6;0) znajduje Milk. Aby rozróżniać wielkość liter, użyj =PODAJ.POZYCJĘ(PRAWDA;PORÓWNAJ(A2:A6;"milk");0), co w Excelu 2019 i starszym wymaga Ctrl+Shift+Enter (Cmd+Shift+Enter na Macu).

Jak sprawdzić funkcją PODAJ.POZYCJĘ, czy wartość jest na liście?

PODAJ.POZYCJĘ zwraca #N/D!, gdy wartości brakuje, więc sprawdź, czy zwróciła liczbę: =CZY.LICZBA(PODAJ.POZYCJĘ(A2;$D$2:$D$5;0)) daje PRAWDA albo FAŁSZ. Obejmij to funkcją JEŻELI, aby pokazać własny tekst.

Ilustracja języków programowania w Coddy

Ucz się programowania z Coddy

ZACZNIJ