Note: The other languages of the website are Google-translated. Back to English

Πώς να ταξινομήσετε αριθμούς σε ένα κελί στο Excel;

Είναι εύκολο και κοινό για μας να ταξινομήσουμε αριθμούς σε μια λίστα στηλών, αλλά έχετε προσπαθήσει ποτέ να ταξινομήσετε αριθμούς σε ένα μόνο κελί; Μπορεί να μην υπάρχει καλός τρόπος για εσάς εκτός από το να τακτοποιήσετε ένα προς ένα, εδώ, θα μιλήσω για τον τρόπο ταξινόμησης αριθμών εντός κελιών στο Excel.

Ταξινόμηση αριθμών εντός κελιών με τύπο

Ταξινόμηση αριθμών εντός κελιών με συνάρτηση καθορισμένη από τον χρήστη

Ταξινόμηση αριθμών που διαχωρίζονται με κόμματα εντός κελιών με κώδικα VBA


βέλος μπλε δεξιά φούσκα Ταξινόμηση αριθμών εντός κελιών με τύπο

Για να ταξινομήσετε αριθμούς εντός κελιών σε ένα φύλλο εργασίας, μπορείτε να εφαρμόσετε τον ακόλουθο μακρύ τύπο, κάντε το ως εξής:

1. Δίπλα στα δεδομένα σας, εισαγάγετε τον ακόλουθο τύπο, σε αυτό το παράδειγμα, θα το πληκτρολογήσω στο κελί C1, δείτε το στιγμιότυπο οθόνης:

=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)))

doc-sort-angka-σε-κελιά-1

2. Στη συνέχεια πατήστε Ctrl + Shift + Εισαγωγή πλήκτρα μαζί και, στη συνέχεια, σύρετε τη λαβή πλήρωσης στο εύρος που θέλετε να εφαρμόσετε αυτόν τον τύπο και θα λάβετε ότι οι αριθμοί έχουν ταξινομηθεί από μικρό σε μεγάλο. Δείτε το στιγμιότυπο οθόνης:

doc-sort-angka-σε-κελιά-1

:

1. Εάν το ψηφίο του αριθμού είναι μεγαλύτερο από 15 στο κελί, αυτός ο τύπος δεν θα έχει το σωστό αποτέλεσμα.

2. Εάν θέλετε να ταξινομήσετε τους αριθμούς με φθίνουσα σειρά, μπορείτε να χρησιμοποιήσετε αυτόν τον τύπο: =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. Στους παραπάνω τύπους, το A1 υποδεικνύει το κελί που περιέχει τους αριθμούς που θέλετε να ταξινομήσετε, μπορείτε να το αλλάξετε ανάλογα με τις ανάγκες σας.


βέλος μπλε δεξιά φούσκα Ταξινόμηση αριθμών εντός κελιών με συνάρτηση καθορισμένη από τον χρήστη

Καθώς υπάρχουν ορισμένοι περιορισμοί του τύπου, μπορείτε να χρησιμοποιήσετε τα ακόλουθα Λειτουργία καθορισμένη από τον χρήστη για ταξινόμηση αριθμών σε κελιά μεγαλύτερα από 15 ψηφία.

1. Κρατήστε πατημένο το ALT + F11 και ανοίγει το Παράθυρο Microsoft Visual Basic for Applications.

2. Κλίκ Κύριο θέμα > Μονάδα μέτρησηςκαι επικολλήστε τον ακόλουθο κώδικα στο Παράθυρο ενότητας.

Κωδικός VBA: Ταξινόμηση αριθμών εντός κελιών

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. Στη συνέχεια, αποθηκεύστε και κλείστε αυτόν τον κωδικό, επιστρέψτε στο φύλλο εργασίας σας και εισαγάγετε αυτόν τον τύπο = sortnumsincell (Α1) σε ένα κενό κελί δίπλα στα δεδομένα σας, δείτε το στιγμιότυπο οθόνης:

doc-sort-angka-σε-κελιά-1

4. Και, στη συνέχεια, σύρετε τη λαβή πλήρωσης στα κελιά που θέλετε να περιέχει αυτόν τον τύπο και όλοι οι αριθμοί στα κελιά έχουν ταξινομηθεί σε αύξουσα σειρά όπως φαίνεται στο παρακάτω στιγμιότυπο οθόνης:

doc-sort-angka-σε-κελιά-1

Note: Εάν θέλετε να ταξινομήσετε τους αριθμούς με φθίνουσα σειρά, εισαγάγετε αυτόν τον τύπο = sortnumsincell (A1,1).


βέλος μπλε δεξιά φούσκα Ταξινόμηση αριθμών που διαχωρίζονται με κόμματα εντός κελιών με κώδικα VBA

Εάν οι αριθμοί σας διαχωρίζονται από συγκεκριμένους χαρακτήρες όπως κόμμα, ερωτηματικό, τελεία και ούτω καθεξής όπως ακολουθεί το στιγμιότυπο οθόνης, πώς μπορείτε να τους ταξινομήσετε σε κελιά; Τώρα, σας παρουσιάζω έναν κωδικό VBA για να τα ταξινομήσετε.

doc-sort-angka-σε-κελιά-1

1. Κρατήστε πατημένο το ALT + F11 για να ανοίξετε το Παράθυρο Microsoft Visual Basic for Applications.

2. Κλίκ Κύριο θέμα > Μονάδα μέτρησηςκαι επικολλήστε τον ακόλουθο κώδικα στο Παράθυρο ενότητας.

Κωδικός VBA: Οι αριθμοί ταξινόμησης διαχωρίζονται με κόμματα εντός κελιών

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. Στη συνέχεια πατήστε F5 για να εκτελέσετε αυτόν τον κώδικα και, στη συνέχεια, επιλέξτε τα κελιά σας που περιέχουν τους αριθμούς στο αναδυόμενο πλαίσιο προτροπής, δείτε το στιγμιότυπο οθόνης:

doc-sort-angka-σε-κελιά-1

4. Και στη συνέχεια κάντε κλικ στο κουμπί OK, όλοι οι αριθμοί στα κελιά έχουν ταξινομηθεί ανοδικά στην αρχική περιοχή.

Note: Μπορείτε να αλλάξετε το κόμμα "," σε οποιονδήποτε άλλο χαρακτήρα όπως χρειάζεστε στον παραπάνω κώδικα. Και αυτός ο κώδικας μπορεί να ταξινομήσει τα δεδομένα μόνο ανοδικά.


Σχετικά άρθρα:

Πώς να ταξινομήσετε αριθμούς με ενωτικά στο Excel;

Πώς να ταξινομήσετε δεδομένα με την πιο συχνή τιμή στο Excel?

Πώς να ταξινομήσετε τη διεύθυνση email ανά τομέα στο Excel;

Πώς να ταξινομήσετε σειρές για να τοποθετήσετε τα κενά κελιά στην κορυφή στο Excel;


Τα καλύτερα εργαλεία παραγωγικότητας του Office

Το Kutools για Excel λύνει τα περισσότερα από τα προβλήματά σας και αυξάνει την παραγωγικότητά σας κατά 80%

  • Επαναχρησιμοποίηση: Εισαγάγετε γρήγορα σύνθετοι τύποι, γραφήματα και οτιδήποτε έχετε χρησιμοποιήσει στο παρελθόν. Κρυπτογράφηση κυττάρων με κωδικό πρόσβασης Δημιουργία λίστας αλληλογραφίας και στείλτε email ...
  • Super Formula Bar (επεξεργαστείτε εύκολα πολλές γραμμές κειμένου και τύπου). Διάταξη ανάγνωσης (εύκολη ανάγνωση και επεξεργασία μεγάλου αριθμού κελιών). Επικόλληση σε φιλτραρισμένο εύρος...
  • Συγχώνευση κελιών / σειρών / στηλών χωρίς απώλεια δεδομένων · Περιεχόμενο διαχωρισμού κελιών Συνδυάστε διπλές σειρές / στήλες... Αποτροπή διπλών κυττάρων; Συγκρίνετε τα εύρη...
  • Επιλέξτε Διπλότυπο ή Μοναδικό Σειρές; Επιλέξτε Κενές σειρές (όλα τα κελιά είναι κενά). Σούπερ εύρεση και ασαφής εύρεση σε πολλά βιβλία εργασίας. Τυχαία επιλογή ...
  • Ακριβές αντίγραφο Πολλαπλά κελιά χωρίς αλλαγή της αναφοράς τύπου. Αυτόματη δημιουργία αναφορών σε πολλαπλά φύλλα? Εισαγωγή κουκκίδων, Πλαίσια ελέγχου και άλλα ...
  • Εξαγωγή κειμένου, Προσθήκη κειμένου, Κατάργηση κατά θέση, Αφαιρέστε το διάστημα; Δημιουργία και εκτύπωση υποσύνολων σελιδοποίησης. Μετατροπή περιεχομένου και σχολίων μεταξύ κελιών...
  • Σούπερ φίλτρο (αποθηκεύστε και εφαρμόστε σχήματα φίλτρων σε άλλα φύλλα). Προηγμένη ταξινόμηση ανά μήνα / εβδομάδα / ημέρα, συχνότητα και άλλα. Ειδικό φίλτρο με έντονη, πλάγια ...
  • Συνδυάστε βιβλία εργασίας και φύλλα εργασίας; Συγχώνευση πινάκων βάσει βασικών στηλών. Διαχωρίστε τα δεδομένα σε πολλά φύλλα; Μαζική μετατροπή xls, xlsx και PDF...
  • Περισσότερα από 300 ισχυρά χαρακτηριστικά. Υποστηρίζει Office / Excel 2007-2019 και 365. Υποστηρίζει όλες τις γλώσσες. Εύκολη ανάπτυξη στην επιχείρηση ή τον οργανισμό σας. Πλήρεις δυνατότητες δωρεάν δοκιμής 30 ημερών. Εγγύηση επιστροφής χρημάτων 60 ημερών.
kte καρτέλα 201905

Το Office Tab φέρνει τη διεπαφή με καρτέλες στο Office και κάνει την εργασία σας πολύ πιο εύκολη

  • Ενεργοποίηση επεξεργασίας και ανάγνωσης καρτελών σε Word, Excel, PowerPoint, Publisher, Access, Visio και Project.
  • Ανοίξτε και δημιουργήστε πολλά έγγραφα σε νέες καρτέλες του ίδιου παραθύρου και όχι σε νέα παράθυρα.
  • Αυξάνει την παραγωγικότητά σας κατά 50% και μειώνει εκατοντάδες κλικ ποντικιού για εσάς κάθε μέρα!
κάτω μέρος γραφείου
Σχόλια (13)
Δεν υπάρχουν ακόμη βαθμολογίες. Γίνε ο πρώτος που θα αξιολογήσετε!
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
κύριε, θα μπορούσατε να βοηθήσετε πρώτα να ταξινομήσετε τα δεδομένα για το αντίγραφο είτε είναι μικρό είτε μεγάλο Παράδειγμα 1211 ---> 1112 9495 ---> 9945 7379 ---> 7739 Ευχαριστώ πολύ για τη βοήθειά σας
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Γεια, αναρωτιόμουν πώς αυτό το UDF, = sortnumsincell (Α1,1), μπορεί να τροποποιηθεί γενικότερα, όπως =sortnumsincell(A1," "," ",,1) όπου το πρώτο επιχείρημα, A1, είναι το κελί-στόχος, το δεύτερο όρισμα,"", είναι ένας οριοθέτης που θα μπορούσε να πάρει οποιονδήποτε χαρακτήρα, ή ένα διάστημα ή τίποτα, με τρίτο όρισμα, "", διαφορετικό ή ίδιο οριοθέτη και το τέταρτο όρισμα, 1 ή 0, υποδεικνύοντας μια αύξουσα ή φθίνουσα ταξινόμηση, με τη συμβολοσειρά αποτελέσματος να εμφανίζεται, σωστά ταξινομημένη, μέσα σε ένα κελί, με την προεπιλογή οριοθέτη ίδια με την αρχική συμβολοσειρά, εκτός εάν προσδιορίζεται στον τρίτο όρο. Θα ήθελα να λειτουργεί τόσο σε συμβολοσειρά όσο και σε αριθμητικό, και μερικές φορές το δεύτερο ή το τρίτο όρισμα μπορεί να είναι μια τροφοδοσία γραμμής, όπως θα εισάγεται χειροκίνητα με το alt-enter. Θα ήσουν ο ήρωάς μου του μήνα αν μπορούσες να το κάνεις αυτό. Προσπάθησα αλλά απέτυχα παταγωδώς. Σας ευχαριστώ.
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Έχω μια σειρά από κελιά με αριθμούς που χωρίζονται με ένα διάστημα που θέλω να ταξινομήσω. π.χ. 8 4 5 1 6 3 που θέλω να ταξινομήσω ως 1 3 4 5 6 8 Εκτιμώ οποιαδήποτε βοήθεια
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Υπάρχει κάποιος τρόπος να ταξινομήσετε περισσότερους αριθμούς ταυτόχρονα από ένα κελί; Για παράδειγμα, έχω μια λίστα με 50000 αριθμούς στοιχείων όπως A1234, A1235... και πρέπει να τραβήξω 500 συγκεκριμένους αριθμούς και πρέπει να τραβήξω 500 τη στιγμή για να κάνω αλλαγή και αποθήκευση. Σας ευχαριστώ
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
πρέπει να ταξινομήσετε 84-12-74-26-98 οποιαδήποτε παραγγελία 12-26-74-84-98 ή 98-84-74-26-12 ευχαριστώ
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Αν CInt(Arr(xMin)) > CINT(Arr(j)) και λειτουργεί
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Θέλω να ταξινομήσω ένα συνολικό ποσό από 14000 έως 20000 από διάφορες σειρές Παράδειγμα: - 2000,1500 μία σειρά και αρέσει όλο το ποσό της σειράς για να τακτοποιήσω
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Γεια, ο κωδικός VBA φαίνεται να βγαίνει εσφαλμένα, για παράδειγμα πριν από 13,50,47,7,39 και μετά από 13-39-47-50-7. Καμιά ιδέα γιατί;
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
hOLA, MI PROBLEMA ES QUE TENGO EXEL 2019 EN ESPAÑOL COMO SERIA LA FORMULA;
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Πώς να ταξινομήσετε το κείμενο AZ σε ένα κελί στο Excel;
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Γεια σας, ευχαριστώ για το καλό που ταξινομείτε τους αριθμούς που χωρίζονται με κόμματα εντός κελιών με κωδικό VBA
Απλώς αντιμετώπισα ένα πρόβλημα με τον κωδικό.
Ο κωδικός δεν μπορεί να εντοπίσει τριψήφιο αριθμό. για παράδειγμα τους αριθμούς (65, 93, 53, 72, 64, 85, 103, 48, 77, 81, 54) μετά την εφαρμογή του κωδικού, τη νέα σειρά (103, 48, 53, 54, 64, 65, 72, 77, 81, 85, 93)
Έχετε κάποια λύση για το πρόβλημα;
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Γεια σου, omer, ίσως ο παρακάτω κώδικας μπορεί να σε βοηθήσει, δοκιμάστε:
Δημόσια συνάρτηση CellSort(r As Range) As String
Dim bry() Όσο μακρύς, L όσο καιρό, U όσο καιρό
ch = r(1).Κείμενο
ary = Split(ch, ",")
L = LBound(ary)
U = UBound(ary)
ReDim bry (L To U)
Για i = LBound(ary) To UBound(ary)
bry(i) = CLng(ary(i))
Επόμενο i
Call BubbleSort(bry)
Για i = LBound(bry) To UBound(bry)
ary(i) = CStr(bry(i))
Επόμενο i
CellSort = Join(ary, ",")
Τέλος Λειτουργία

Sub BubbleSort(arr)
Dim strtemp ως παραλλαγή
Dim i As Long
Dim J όσο πολύ καιρό
Dim Lngmin όσο πολύ καιρό
Dim lngMax As Long
lngMin = LBound(arr)
lngMax = UBound(arr)
Για i = lngMin έως lngMax - 1
Για j = i + 1 Προς lngΜέγ
Αν arr(i) > arr(j) Τότε
strTemp = arr(i)
arr(i) = arr(j)
arr(j) = strTemp
End If
Επόμενο j
Επόμενο i
Τέλος υποΜετά την εισαγωγή του παραπάνω κώδικα, εφαρμόστε αυτόν τον τύπο: =CellSort(A1).Και θα έχετε το αποτέλεσμα που χρειάζεστε.
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Hola, se pueden ordenar letras en una sola celda por orden alfabético; Χρησιμοποιείτε excel για Mac. Gracias
Δεν υπάρχουν σχόλια δημοσιεύτηκε ακόμα
Αφήστε τα σχόλιά σας
Δημοσίευση ως επισκέπτης
×
Αξιολογήστε αυτήν την ανάρτηση:
0   Χαρακτήρες
Προτεινόμενες τοποθεσίες