Formula di Excel: formula di ordinamento del testo di base -

Sommario

Formula generica

=COUNTIF(range,"<="&A1)

Sommario

Per ordinare dinamicamente i valori di testo in ordine alfabetico, è possibile utilizzare una formula basata sulla funzione CONTA.SE. Nell'esempio mostrato, la formula in C5 è:

=COUNTIF(countries,"<="&B5)

dove "paesi" è l'intervallo denominato B4: B13

Spiegazione

Questa formula utilizza l'operatore "maggiore o uguale a" con il testo, qualcosa che potresti non aver provato prima. Quando Excel confronta il testo, decide quale valore è "maggiore" di altre regole basate che seguono lo schema di numerazione ASCII.

All'interno di CONTA.SE, l'argomento intervallo viene fornito come l'intervallo denominato "paesi" (B4: B13) e il criterio viene fornito come "minore o uguale a" il valore in C5. In ogni riga, CONTA.SE restituisce il numero di valori che sono minori o uguali al valore corrente, il che crea un elenco sequenziale di numeri (cioè un rango) nella colonna helper.

Elenco dei valori ordinati

La colonna helper può essere utilizzata per recuperare i valori ordinati in base al rango. In E5, la formula utilizzata per recuperare i valori è:

=INDEX(countries,MATCH(ROWS($E$5:E5),helper,0))

Questa è una formula INDICE e CONFRONTA che utilizza un riferimento in espansione per generare numeri sequenziali, che vengono inseriti in CONFRONTA come valori di ricerca. MATCH calcola dove esiste ogni numero nei dati e INDICE recupera il valore in quella posizione. Vedi questa pagina per una spiegazione più dettagliata.

Gestione dei duplicati

Se i dati contengono valori di testo duplicati, la sequenza di numeri di ordinamento conterrà anche duplicati, il che causerà problemi se si tenta di recuperare valori con la funzione INDICE. Per aggirare questo problema, è possibile utilizzare una variazione della formula che incrementa i duplicati con una seconda CONTA.SE:

=COUNTIF(countries,"<"&B5)+COUNTIF($B$5:B5,B5)

Si noti che l'operatore logico nella prima funzione CONTA.SE è stato modificato e l'intervallo nella seconda funzione CONTA.SE è un riferimento in espansione.

Articoli interessanti...