Risolto Ordinamento dati da colonne diverse

taranto57

Utente junior
20 Giugno 2018
35
6
Taranto
Excel 2013
2
Buongiorno,
riprendendo delle soluzioni postate nel forum ho cercato di adattarle alla mia necessità di ricavare un elenco ordinato "Ordina dalla A alla Z" partendo da due colonne.
Colonna A, da A2 a An 1° elenco - Colonna B, da B2 a Bn 2° elenco - Colonna C, da C2 a Cn Colonna appoggio - Colonna D, da D2 a Dn Elenco Ordinato.
Ho notato che se i dati sono solo testi il risultato finale è quello sperato, ma se inserisco anche dei numeri la formula finale per ottenere l' "Elenco Ordinato" non funziona.
Chiedo inoltre se vi è la possibilità di eliminare la colonna d'appoggio.
Grazie
 

Allegati

paoloard

Utente assiduo
Expert
18 Febbraio 2018
1.177
83
prov. BO
2016
129
Ciao.
Per ora ti propongo una soluzione con colonna d'appoggio (poi, se scoccherà una illuminante scintilla........).
La formula che ti propongo necessita però di una diversa impostazione della colonna d'appoggio, nel senso che riporti i numeri come tali e non come testo.
Innanzitutto, utilizzando le colonne F. G. H, I del tuo esempio, ricavo la colonna d'appoggio con questa formula:

in H2: =SE(F2<>"";F2;SE(SCARTO(F2;-CONTA.VALORI($F$2:$F2);1;1;1)="";"";SCARTO(F2;-CONTA.VALORI($F$2:$F2);1;1;1)))
da trascinare in basso.
questa formula mi tiene distinti i numeri dalle lettere.

in I2: =SE.ERRORE(INDICE($H$2:$H$100;CONFRONTA(PICCOLO(SE($H$2:$H$100="";"";SE(VAL.NUMERO($H$2:$H$100);CONTA.SE($H$2:$H$100;"<"&$H$2:$H$100);CONTA.SE($H$2:$H$100;"<"&$H$2:$H$100)+SOMMA(SE(VAL.NUMERO($H$2:$H$100);1;0))+1));RIF.RIGA(A1));SE($H$2:$H$100="";"";SE(VAL.NUMERO($H$2:$H$100);CONTA.SE($H$2:$H$100;"<"&$H$2:$H$100);CONTA.SE($H$2:$H$100;"<"&$H$2:$H$100)+SOMMA(SE(VAL.NUMERO($H$2:$H$100);1;0))+1));0));"")
formula matriciale, da confermare con Ctrl+Maiusc+Invio
 

Allegati

  • Like
Reactions: D@nilo

D@nilo

Utente assiduo
Expert
19 Gennaio 2016
2.279
63
Roma
Excel 2016
108
Buongiorno a tutti
per passatempo e con dei paletti
1° i numeri non devono essere testi
2° le lettere minuscole
3° in caso di testo composto tipo (aa cd....) estrae e ordina in base al primo carattere
senza colonne di appoggio in I2 da trascinare in basso

=SE.ERRORE(PICCOLO($F$2:$G$30;RIF.RIGA(A1));CODICE.CARATT(AGGREGA(15;6;((CODICE($F$2:$G$30)>=97)*(CODICE($F$2:$G$30)<=122))*CODICE($F$2:$G$30);RIF.RIGA(A1))))
 

taranto57

Utente junior
20 Giugno 2018
35
6
Taranto
Excel 2013
2
Buongiorno,
le due soluzioni prospettate, con colonna di appoggio e con calcolo diretto alla fine sortiscono lo stesso risultato e funzionano perfettamente. Chiedo solamente se le colonne contenenti dati devono essere necessariamente adiacenti.
Allego file esempio dove ho inserito la colonna G.
 

Allegati

D@nilo

Utente assiduo
Expert
19 Gennaio 2016
2.279
63
Roma
Excel 2016
108
Ciao
ho visto che hai inserito la formula che ti ho proposto in colonna L e a me pare che restituisca i valori corretti secondo i paletti che ti avevo detto cioè non ti restituisce dddd ma solo d e c invece di cc se poi vuoi togliere l'errore #NUM nelle ultime 6 righe basta integrare con un SE.ERRORE

=SE.ERRORE(SE.ERRORE(PICCOLO($F$2:$H$30;RIF.RIGA(A1));CODICE.CARATT(AGGREGA(15;6;((CODICE($F$2:$H$30)>=97)*(CODICE($F$2:$H$30)<=122))*CODICE($F$2:$H$30);RIF.RIGA(A1))));"")

FILE DA SCARICARE
 
  • Like
Reactions: paoloard

taranto57

Utente junior
20 Giugno 2018
35
6
Taranto
Excel 2013
2
Per il momento adotto la soluzione di D@nilo, con calma devo cercare di trovare una soluzione che analizzi singolarmente le colonne da esaminare. Grazie per i consigli
 

Sostieni ForumExcel

Aiutaci a sostenere le spese e a mantenere online la community attraverso una libera donazione!