W poprzednim poście pokazałem jak za pomocą formuły określić listę unikalnych wartości. Poniżej pokażę jak uzyskać listę posortowaną, oraz jaką formułą połączyć te dwa efekty. W pliku przykładowym mam listę powtarzających się liter, ustawionych w przypadkowej kolejności.
Najpierw pokażę jak uzyskać listę posortowaną, a następnie jak w jednym kroku stworzyć posortowaną listę unikatów.
Lista posortowana
W komórkach A2:A9 mam moje dane wejściowe. W komórce B2 umieszczam formułę:
1 |
=INDEKS($A$2:$A$9;PODAJ.POZYCJĘ(MIN.K(LICZ.JEŻELI($A$2:$A$9;"<"&$A$2:$A$9);WIERSZ(1:1));LICZ.JEŻELI($A$2:$A$9;"<"&$A$2:$A$9);0)) |
Jest to formuła tablicowa, należy ją więc zatwierdzić skrótem ctrl+shift+enter, a nie samym enter. Formułę tą przeciągam w dół na obszar odpowiadający obszarowi wejściowemu, czyli B2:B9.
Lista unikatów
Za pomocą jednej formuły tablicowej mogę uzyskać także ten efekt. W komórce C2 umieszczam formułę:
1 |
=JEŻELI.BŁĄD(INDEKS($A$2:$A$9;PODAJ.POZYCJĘ(0;LICZ.JEŻELI($A$2:$A$9;"<"&$A$2:$A$9)-SUMA(LICZ.JEŻELI($A$2:$A$9;$C$1:C1));0));"") |
Następnie przeciągam ją na zakres C2:C9.
Zastosowanie obu formuł można zobaczyć w pliku przykładowym.
Comments 2
Ciekawa metoda. Próbuję rozłożyć drugą formułę na czynniki pierwsze i przyznaję, że mam problem ze zrozumieniem kryterium zastosowanego w funkcji LICZ.JEŻELI($A$2:$A$9;"<"&$A$2:$A$9). Zlicz w liście liczbę wystąpień wartości mniejszych niż lista?
Co ciekawe funkcja ta po przeciągnięciu w dół w dodatkowej kolumnie zwraca różne wartości, mimo że jej argumenty się nie zmieniają (0,2,4,6,6,5,0,2). Czy mógłbyś podrzucić kilka słów wyłumaczenia? Z góry dziękuję!
Dziękuje za pytanie. Należy to czytać jak funkcję tablicową, tak naprawdę jest to wywołanie funkcji kilka razy:
LICZ.JEŻELI($A$2:$A$9;"<"&$A$2)
LICZ.JEŻELI($A$2:$A$9;"<"&$A$3)
LICZ.JEŻELI($A$2:$A$9;"<"&$A$4)
itd