Ordine per formula

Sè avete bisognu di sorte a lista, allora ci sò parechje manere à u vostru serviziu, u più faciule di quale hè i buttuni di sorte nantu à a tabulazione o in u menu. Dati (Dati - Sort). In ogni casu, ci sò situazioni quandu a classificazione di a lista deve esse fatta automaticamente, vale à dì formule. Questu pò esse necessariu, per esempiu, quandu generà dati per una lista drop-down, quandu calculate dati per charts, etc. Cumu sorte una lista cù una formula nantu à a mosca?

Metudu 1. Dati numerichi

Se a lista cuntene solu infurmazione numerica, allora l'ordine pò esse facilmente fattu cù e funzioni MENU (Picculu) и LINE (fila):

 

funzioni MENU (Picculu) tira fora da a matrice (colonna A) l'elementu n-èsimu più chjucu in una fila. Quelli. SMALL(A:A;1) hè u numeru più chjucu in a colonna, SMALL(A:A;2) hè u sicondu più chjucu, è cusì.

funzioni LINE (fila) Ritorna u numeru di fila per a cellula specifica, vale à dì ROW (A1) = 1, ROW (A2) = 2 etc. In questu casu, hè utilizatu solu com'è generatore di una sequenza di numeri n = 1,2,3 ... per a nostra lista ordinata. Cù u stessu successu, era pussibule di fà una colonna supplementaria, riempia manualmente cù a sequenza numerica 1,2,3 ... è riferite à questu invece di a funzione ROW.

Metudu 2. Lista di testu è formule rigulari

Se a lista ùn cuntene micca numeri, ma testu, allora a funzione SMALL ùn funziona più, cusì avete da andà in una strada diversa, un pocu più longa.

Prima, aghjustemu una colonna di serviziu cù una formula induve u numeru di seriale di ogni nome in a futura lista ordinata serà calculatu cù a funzione COUNTIF (COUNTIF):

In a versione inglese sarà:

=CONTA.SI(A:A,»<"&A1)+CONTA.SI($A$1:A1,"="&A1)

U primu termini hè una funzione per cuntà u numeru di cellule chì sò menu di l'attuale. U sicondu hè una reta di salvezza in casu chì qualsiasi nome si trova più di una volta. Allora ùn anu micca u listessu, ma un numeru crescente in successione.

Avà i numeri ricevuti devenu esse disposti sequenziale in ordine crescente. Per questu pudete aduprà a funzione MENU (Picculu) da u primu modu:

 

Ebbè, infine, ferma solu per tirà i nomi da a lista per i so numeri. Per fà questu, pudete aduprà a seguente formula:

 

funzioni PIÙ ESPOSTA (MATCH) cerca in a colonna B u numeru di seriale desideratu (1, 2, 3, etc.) è, in fattu, torna u numeru di a linea induve si trova stu numeru. Funzione INDEX (INDICE) tira fora da a colonna A u nome à stu numeru di linea.

Metudu 3: Formula Array

Stu metudu hè, in fattu, u listessu algoritmu di piazzamentu cum'è in u Metudu-2, ma implementatu da una formula array. Per simplificà a formula, a gamma di cellule C1: C10 hè stata datu u nome List (selezziunà e cellule, pressu Ctrl + F3 è buttone creà):

 

In a cell E1, copiate a nostra formula:

= INDEX (Lista; MATCH (PICCOLO (COUNTIF(Lista; "<"&Lista); FILA (1:1)); COUNTIF(Lista; "<"&Lista); 0))

O in a versione inglese:

= INDEX (Lista, MATCH (PICCOLO (COUNTIF (Lista, «<"&Lista), FILA (1:1)), COUNTIF(Lista, "<"&Lista), 0))

è spinta Ctrl + Shift + Enterper inserisce cum'è una formula array. Allora a formula risultante pò esse copiata per tutta a durata di a lista.

Se vulete chì a formula per piglià in contu micca un intervallu fissu, ma puderà aghjustà quandu aghjunghjenu novi elementi à a lista, allora avete bisognu di cambià pocu a strategia.

Prima, u listinu di Lista hà da esse stabilitu dinamicamente. Per fà questu, quandu crea, avete bisognu di specificà micca un intervallu fissu C3: C10, ma una formula speciale chì si riferisce à tutti i valori dispunibili, indipendentemente da u so numeru. Cliccate Alt + F3 o apre a tabulazione Formule - Name Manager (Formule - Manager di nomi), Crea un novu nome è in u campu Member (Riferimentu) entre in a formula seguente (assumemu chì a gamma di dati da esse ordinati principia da a cellula C1):

=СМЕЩ(C1;0;0;СЧЁТЗ(C1:C1000);1)

= OFFSET (C1,0,0,SCHÖTZ (C1:C1000),1)

Siconda, a formula di l'array di sopra duverà esse allungata cù un margine - cù l'aspettativa di dati supplementari inseriti in u futuru. In questu casu, a formula di array hà da cumincià à dà un errore #NUMERO nantu à e cellule chì ùn sò ancu riempite. Per intercepte, pudete aduprà a funzione IFERROR, chì deve esse aghjuntu "intornu" à a nostra formula di array:

=IFERROR (INDEX(Lista; MATCH(SMALL(COUNTIF(Lista; "<"&Lista); ROW(1:1)); COUNTIF(Lista; "<"&Lista); 0));»»)

=IFERROR(NDEX(Lista, MATCH(SMALL(COUNTIF(Lista, «<"&Lista), FILA(1:1)), COUNTIF(Lista, "<"&Lista), 0));"")

Capisce l'errore #NUMERO è produce invece un vuoto (virgolette vuote).

:

  • Sorte gamma per culore
  • Chì sò e formule di array è perchè sò necessarii
  • SORT sorte è matrici dinamiche in u novu Office 365

 

Lascia un Audiolibro