
Formula generică
=RANK(A1,values)+COUNTIF(exp_rng,A1)-1
rezumat
Pentru a sorta dinamic datele care conțin doar valori numerice, puteți utiliza o coloană de ajutor și o formulă create cu funcțiile RANK și COUNTIF. În exemplul prezentat, formula din D5 este:
=RANK(C5,sales)+COUNTIF($C$5:C5,C5)-1
unde „vânzări” este gama numită C5: C11.
Explicaţie
Notă: această formulă este setarea pentru o formulă care poate extrage și afișa date utilizând o ordine de sortare predefinită într-o coloană de ajutor. Un exemplu aici.
Nucleul acestei formule este funcția RANK, care este utilizată pentru a genera un rang de valori ale vânzărilor, unde cel mai mare număr este clasat pe locul 1:
=RANK(C5,sales)
Aici, RANK utilizează gama denumită „vânzări” (C5: C11) pentru comoditate. În mod implicit, RANK va atribui 1 la cea mai mare valoare, 2 la a doua cea mai mare valoare și așa mai departe. Acest lucru funcționează perfect atât timp cât valorile numerice sunt unice. Cu toate acestea, pentru a gestiona valorile numerice care conțin duplicate, trebuie să folosim funcția COUNTIF pentru a rupe legăturile. Acest lucru se face prin adăugarea rezultatului acestui fragment la valoarea returnată de RANK:
COUNTIF($C$5:C5,C5)-1
Observați că intervalul este introdus ca o referință mixtă care se va extinde pe măsură ce formula este copiată în tabel. După cum s-a scris, această referință va include rândul curent, așa că scădem 1 la „zero out” prima apariție. Aceasta înseamnă că expresia va returna zero pentru fiecare valoare numerică până când se întâlnește un duplicat. La a doua instanță, expresia va returna 1, la a treia instanță, va returna 2 și așa mai departe. Aceasta rupe efectiv legăturile și permite formulei să genereze o listă secvențială de numere fără goluri.
Odată ce formula este la locul său, datele pot fi sortate după coloana de ajutor. Poate fi recuperat și cu INDEX folosind valorile din coloana helper.
Notă: Această formulă este adaptată dintr-un exemplu din excelenta carte Control + Shift + Enter, de Mike Girvin.