Come ordinare i numeri all'interno di una cella in Excel?
È facile e comune per noi ordinare i numeri in un elenco di colonne, ma hai mai provato a ordinare i numeri all'interno di una singola cella? Potrebbe non esserci un buon modo per te se non disporli uno per uno, qui parlerò di come ordinare i numeri all'interno delle celle in Excel.
Ordina i numeri all'interno delle celle con la formula
Ordina i numeri all'interno delle celle con la funzione definita dall'utente
Ordina i numeri separati da virgole all'interno delle celle con codice VBA
Ordina i numeri all'interno delle celle con la formula
Per ordinare i numeri all'interno delle celle in un foglio di lavoro, puoi applicare la seguente formula lunga, per favore fai come segue:
1. Accanto ai tuoi dati, inserisci la seguente formula, in questo esempio, la digiterò nella cella C1, vedi screenshot:
=TEXT(SUM(SMALL(--MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),ROW(INDIRECT("1:"&LEN(A1))))*10^(LEN(A1)-ROW(INDIRECT("1:"&LEN(A1))))),REPT("0",LEN(A1)))
2. Quindi premere CTRL + MAIUSC + INVIO tasti insieme, quindi trascina il quadratino di riempimento sull'intervallo in cui desideri applicare questa formula e otterrai che i numeri sono stati ordinati da piccoli a grandi. Vedi screenshot:
Note:
1. Se la cifra del numero è più di 15 nella cella, questa formula non otterrà il risultato corretto.
2. Se desideri ordinare i numeri in ordine decrescente, puoi utilizzare questa formula: =TEXT(SUM(LARGE(--MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),ROW(INDIRECT("1:"&LEN(A1))))*10^(LEN(A1)-ROW(INDIRECT("1:"&LEN(A1))))),REPT("0",LEN(A1))).
3. Nelle formule precedenti, A1 indica la cella che contiene i numeri che si desidera ordinare, è possibile modificarla secondo le proprie necessità.
Ordina i numeri all'interno delle celle con la funzione definita dall'utente
Poiché esistono alcune limitazioni della formula, è possibile utilizzare quanto segue Funzione definita dall'utente per ordinare i numeri nelle celle più lunghe di 15 cifre.
1. Tieni premuto il ALT + F11 chiavi e apre il file Finestra di Microsoft Visual Basic, Applications Edition.
2. Clic inserire > Modulie incolla il codice seguente nel file Finestra del modulo.
Codice VBA: ordina i numeri all'interno delle celle
Function SortNumsInCell(pNum As String, Optional pOrder As Boolean) As String
'Update 20140717
Dim xOutput As String
For i = 0 To 9
For j = 1 To UBound(VBA.Split(pNum, i))
xOutput = IIf(pOrder, i & xOutput, xOutput & i)
Next
Next
SortNumsInCell = xOutput
End Function
3. Quindi salva e chiudi questo codice, torna al foglio di lavoro e inserisci questa formula = sortnumsincell (A1) in una cella vuota accanto ai tuoi dati, vedi screenshot:
4. Quindi trascina il quadratino di riempimento sulle celle in cui desideri contenere questa formula e tutti i numeri nelle celle sono stati ordinati in ordine crescente come mostrato nella seguente schermata:
Note:: Se vuoi ordinare i numeri in ordine decrescente, inserisci questa formula = sortnumsincell (A1,1).
Ordina i numeri separati da virgole all'interno delle celle con codice VBA
Se i tuoi numeri sono separati da determinati caratteri come virgola, punto e virgola, punto e così via come nella seguente schermata, come potresti ordinarli nelle celle? Ora, presento un codice VBA per ordinarli.
1. Tieni premuto il ALT + F11 chiavi per aprire il Finestra di Microsoft Visual Basic, Applications Edition.
2. Clic inserire > Modulie incolla il codice seguente nel file Finestra del modulo.
Codice VBA: i numeri di ordinamento sono separati da virgole all'interno delle celle
Sub SortNumsInRange()
'Update 20140717
Dim Rng As Range
Dim WorkRng As Range
Dim Arr As Variant
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Set objArrayList = CreateObject("System.Collections.ArrayList")
For Each Rng In WorkRng
Arr = VBA.Split(Rng.Value, ",")
For i = 0 To UBound(Arr)
xMin = i
For j = i + 1 To UBound(Arr)
If Arr(xMin) > Arr(j) Then
xMin = j
End If
Next j
If xMin <> i Then
temp = Arr(i)
Arr(i) = Arr(xMin)
Arr(xMin) = temp
End If
Next i
Rng.Value = VBA.Join(Arr, ",")
Next
End Sub
3. Quindi premere F5 chiave per eseguire questo codice, quindi selezionare le celle che contengono i numeri nella finestra di richiesta saltata fuori, vedi screenshot:
4. E poi clicca OK, tutti i numeri nelle celle sono stati ordinati in modo crescente nell'intervallo originale.
Note:: Puoi cambiare la virgola "," con qualsiasi altro carattere di cui hai bisogno nel codice sopra. E questo codice può solo ordinare i dati in modo ascendente.
Articoli correlati:
Come ordinare i numeri con trattini in Excel?
Come ordinare i dati in base al valore più frequente in Excel?
Come ordinare l'indirizzo e-mail per dominio in Excel?
Come ordinare le righe per mettere le celle vuote in cima in Excel?
I migliori strumenti per la produttività in ufficio
Potenzia le tue competenze di Excel con Kutools per Excel e sperimenta l'efficienza come mai prima d'ora. Kutools per Excel offre oltre 300 funzionalità avanzate per aumentare la produttività e risparmiare tempo. Fai clic qui per ottenere la funzionalità di cui hai più bisogno...
Office Tab porta l'interfaccia a schede in Office e semplifica notevolmente il tuo lavoro
- Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Apri e crea più documenti in nuove schede della stessa finestra, piuttosto che in nuove finestre.
- Aumenta la produttività del 50% e riduce ogni giorno centinaia di clic del mouse!