Baza wiedzy / Excel
MIN.K w Excelu: k-ta najmniejsza wartość, remisy i błędy
Pokazuję, jak MIN.K zwraca k-tą najmniejszą liczbę, co robi z powtórzonymi wartościami i jak wybrać kilka najmniejszych wyników z warunkiem. Poprawiam też nazwę: funkcja MAŁA w Excelu nie istnieje.

MIN.K zwraca k-tą najmniejszą liczbę z zakresu. Z jej pomocą znajduję drugi najkrótszy czas dostawy, trzeci najniższy wynik testu albo pięć najtańszych pozycji w cenniku. Gdy k wynosi 1, dostaję po prostu minimum.
Najpierw jedna poprawka. W starszej wersji tego hasła i w wielu poradnikach funkcja występuje pod nazwą MAŁA. Takiej funkcji w polskim Excelu nie ma i formuła z nią kończy się błędem #NAZWA?. Polska nazwa SMALL to MIN.K, a LARGE to MAX.K.
Składnia MIN.K
=MIN.K(tablica; k)
tablica: zakres albo tablica liczb, z których wybieram.k: pozycja licząc od najmniejszej wartości. 1 oznacza najmniejszą, 2 drugą najmniejszą i tak dalej.
Jeśli zakres ma n liczb, MIN.K(tablica; 1) jest równe najmniejszej z nich, a MIN.K(tablica; n) największej. Funkcja liczy tylko wartości liczbowe. Puste komórki i tekst w zakresie pomija, więc liczba zapisana jako tekst po cichu wypada z porównania.
Przykład: najkrótsze czasy dostawy
Pracuję na syntetycznej tabeli ośmiu zamówień w zakresie A1:C9:
| Zamówienie | Dostawa | Dni |
|---|---|---|
| Z-01 | Kurier | 3 |
| Z-02 | Paczkomat | 7 |
| Z-03 | Kurier | 2 |
| Z-04 | Odbiór | 5 |
| Z-05 | Paczkomat | 2 |
| Z-06 | Kurier | 9 |
| Z-07 | Odbiór | 4 |
| Z-08 | Paczkomat | 6 |
Po posortowaniu czasy wyglądają tak: 2, 2, 3, 4, 5, 6, 7, 9. Funkcja nie wymaga sortowania danych, robi to sama w obliczeniu.
=MIN.K(C2:C9; 1)
=MIN.K(C2:C9; 3)
=MIN.K(C2:C9; 8)
Wyniki to kolejno 2, 3 i 9. Ósma najmniejsza wartość w ośmiu liczbach to po prostu największa.
Remisy: każda wartość ma swoją pozycję

Dwa zamówienia dotarły w 2 dni. MIN.K nie łączy ich w jedną pozycję:
=MIN.K(C2:C9; 2)
Wynik to znowu 2, a nie 3. Gdy pytam o „drugi najkrótszy czas”, muszę zdecydować, czy chodzi mi o drugą pozycję na liście, czy o drugą różną wartość. Dla drugiego wariantu w Microsoft 365 i Excelu 2021 najpierw usuwam powtórzenia funkcją UNIKATOWE:
=MIN.K(UNIKATOWE(C2:C9); 2)
Teraz wynik to 3, bo różne czasy to 2, 3, 4, 5, 6, 7 i 9.
Błąd #LICZBA! i inne pułapki
MIN.K zwraca #LICZBA!, gdy k jest mniejsze lub równe zero albo większe niż liczba wartości liczbowych w zakresie. W przykładzie =MIN.K(C2:C9; 9) da #LICZBA!, bo liczb jest osiem. Ten sam błąd pojawi się, gdy zakres nie zawiera żadnej liczby.
Częściej spotykam błąd bez komunikatu. Jeśli czas dostawy w jednym wierszu przyszedł z systemu jako tekst, na przykład “4”, MIN.K go pominie i wszystkie dalsze pozycje przesuną się o jedną. Dlatego przy podejrzanych wynikach sprawdzam typ danych, na przykład funkcją CZY.LICZBA, albo porównuję liczbę wartości z ILE.LICZB z liczbą wierszy.
Uważam też na komentarze w formułach. Zapis w stylu =MIN.K(C2:C9; 1) // najmniejsza wygląda czytelnie w poradniku, ale wklejony do komórki nie zadziała. Opis trzymam w sąsiedniej kolumnie albo w nagłówku.
Najmniejsza wartość z warunkiem
Chcę poznać drugi najkrótszy czas tylko dla kuriera. Kurier ma czasy 3, 2 i 9, więc spodziewam się wyniku 3.
W Microsoft 365 i Excelu 2021 najprościej najpierw zawęzić dane FILTRUJ:
=MIN.K(FILTRUJ(C2:C9; B2:B9="Kurier"); 2)
W starszych wersjach używam funkcji JEŻELI. Formułę zatwierdzam wtedy klawiszami Ctrl+Shift+Enter, bo działa na tablicy:
=MIN.K(JEŻELI(B2:B9="Kurier"; C2:C9); 2)
Wiersze innych metod dostawy dostają tu wartość FAŁSZ, którą MIN.K pomija. Obie formuły zwracają 3.
Kilka najmniejszych wartości naraz
W Microsoft 365 i Excelu 2021 mogę podać jako k całą listę pozycji. SEKWENCJA tworzy liczby 1, 2 i 3, a wynik rozlewa się na trzy komórki:
=MIN.K(C2:C9; SEKWENCJA(3))
Dostaję 2, 2 i 3. Same liczby rzadko wystarczają, bo chcę jeszcze wiedzieć, których zamówień dotyczą. Szukanie numeru zamówienia po wartości zawodzi przy remisie: obie dwójki wskazałyby to samo zamówienie Z-03. W takiej sytuacji sortuję całą tabelę i biorę pierwsze wiersze:
=SORTUJ.WEDŁUG(A2:C9; C2:C9; 1)
Pierwsze trzy wiersze wyniku to zamówienia Z-03 i Z-05 (po 2 dni) oraz Z-01 (3 dni). Każde zamówienie pojawia się raz, także przy remisie.
MIN.K a inne funkcje
- MIN daje to samo co
MIN.K(zakres; 1)i jest czytelniejsza, gdy potrzebuję tylko minimum. - MAX.K działa symetrycznie od największej wartości.
- SORTUJ i SORTUJ.WEDŁUG wybieram, gdy potrzebuję całych wierszy, a nie tylko liczby z określonej pozycji.
Krótkie ćwiczenie
Przepisz tabelę zamówień do arkusza. Znajdź czwarty najkrótszy czas dostawy dla wszystkich zamówień i drugi najkrótszy dla paczkomatu. Potem zmień czas zamówienia Z-07 na tekst “4” i zobacz, jak zmienił się czwarty wynik. Na koniec sprawdź, którą formułą wykryjesz taki wiersz, zanim zepsuje raport.
Najważniejsze w pigułce
Jak nazywa się funkcja SMALL w polskim Excelu?
MIN.K. Nazwa MAŁA, spotykana w starszych poradnikach, nie istnieje i daje błąd #NAZWA?. Odpowiednikiem LARGE jest MAX.K.
Co zwraca MIN.K, gdy w danych są dwie takie same wartości?
Każda zajmuje osobną pozycję. Dla danych 2, 2, 3 funkcja MIN.K(zakres; 1) i MIN.K(zakres; 2) zwraca 2, a dopiero k równe 3 daje 3.
Kiedy MIN.K zwraca #LICZBA!?
Gdy k jest mniejsze lub równe zero, większe niż liczba wartości liczbowych w zakresie albo gdy zakres nie zawiera żadnej liczby.
