Reveniți ordinea articolelor din listă

O sarcină trivială, la prima vedere, întâlnită ocazional în aproape orice utilizator Microsoft Excel, este de a aranja elementele listei în ordine inversă. Pentru toată simplitatea aparentă, există aici "jetoane" - să analizăm mai multe opțiuni pentru rezolvarea ei.

Metoda 1. Sortarea manuală a coloanei suplimentare

Acesta este, de obicei, primul lucru care vine în minte. Adăugați lângă lista noastră încă o coloană cu numere ordinare și sortați după această coloană în ordine descrescătoare:

Reveniți ordinea articolelor din listă

Reveniți ordinea articolelor din listă

Abordarea evidentă a acestei abordări este simplitatea. Dezavantajul evident este că trebuie să faceți o mulțime de operații cu mâinile. Dacă aceasta este o sarcină unică - OK, dar dacă datele se schimbă în fiecare zi, atunci întotdeauna se străduiește să sortezi manual lista manual. Producția poate fi folosirea formulelor.

Metoda 2: Ordinea inversă a formulei

Deoarece formulele în Excel sunt convertite automat (în cazul în care modul de recalculare manuală), apoi sortarea, formulele puse în aplicare, va avea loc „din zbor“, fără intervenția utilizatorului.

Formula pe care trebuie să o poziționăm în ordine inversă poate să arate astfel:

Reveniți ordinea articolelor din listă

Dezavantajul acestei formule este că începutul și sfârșitul listei (celulele A2 și A9 în cazul nostru) trebuie fixate rigid în ea. Dacă nu știți exact câte elemente vor fi în listă, este mai bine să folosiți o abordare diferită:

Reveniți ordinea articolelor din listă

În această formulă, numărul ultimei celule ocupate este calculat utilizând funcția COUNTA. și anume numărul de elemente din lista sursă se poate modifica ulterior.

Minus această opțiune - în lista de surse nu ar trebui să existe celule goale, tk. funcția COUNT apoi calculează incorect numărul de linie al ultimului element. Ieșirea poate fi folosirea unei game de numere dinamice, cu reglaje automate ale dimensiunilor sau o formulă de matrice șiretătoare:

Reveniți ordinea articolelor din listă

După cum este ușor de văzut, această variantă a primei metode, în cazul în care intervalul este luat cu „stoc“, imediat înainte de linia de celule și ultimul număr de linie celulară umpluturii nu este definit în mod rigid și calculat folosind fragmentul MAX (($ A $ 2: $ A $ de 100<>") * LINE ($ A $ 2: $ A $ 100))

Fiecare celulă din gama A2: A100 este verificată pentru ocupare utilizând expresia ($ A $ 2: $ A $ 100<>"), care va oferi o serie de valori TRUE și FALSE. Apoi, elementul de matrice cu element multiplicat cu matricea numerelor rând obținute prin intermediul funcției LINE ($ A $ 2: $ A $ 100). Deoarece Excel este în mod logic adevărat interpretează ca 1, și fals - la 0, după înmulțirea, vom obține o mulțime de camere de celule umplute. Și deja de la ea funcția MAX (MAX) alege cel mai mare număr, adică numărul ultimei linii umplute.

Și, fă-o singur, nu uitați să apăsați tasta obișnuită Enter după ce ați introdus această formulă. și combinația Ctrl + Shift + Enter. să o introduceți ca o formulă de matrice.

Metoda 3: macro-ul

Dacă doriți să implementați valorile de schimbare a celulelor în ordine inversă fără o coloană suplimentară cu formule, adică direct în celulele sursă, atunci nu puteți face fără o macrocomandă simplă.

Apăsați Alt + F11 sau butonul Visual Basic din fila Developer. Introduceți un nou modul gol prin meniul Introduceți modulul și copiați macro textul acolo:

Acum, dacă selectați o coloană listă de date și a alerga macro noastră cu combinația Alt + F8 sau echipa de dezvoltare - Macrocomenzi (Developer - Macrocomenzi). atunci lista se va inversa în ordine inversă direct în aceleași celule, adică pe loc.

Link-uri conexe