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

Làm thế nào để sắp xếp các số trong một ô trong Excel?

Việc sắp xếp các số trong một danh sách cột rất dễ dàng và phổ biến đối với chúng ta, nhưng bạn đã bao giờ thử sắp xếp các số trong một ô chưa? Có thể không có cách nào tốt cho bạn ngoại trừ sắp xếp chúng từng cái một, ở đây, tôi sẽ nói về cách sắp xếp các số trong các ô trong Excel.

Sắp xếp số trong các ô với công thức

Sắp xếp các số trong các ô với Hàm do Người dùng Xác định

Sắp xếp các số được phân tách bằng dấu phẩy trong các ô có mã VBA


mũi tên màu xanh bong bóng bên phải Sắp xếp số trong các ô với công thức

Để sắp xếp các số trong các ô trong một trang tính, bạn có thể áp dụng công thức dài sau đây, vui lòng thực hiện như sau:

1. Bên cạnh dữ liệu của bạn, vui lòng nhập công thức sau, trong ví dụ này, tôi sẽ nhập nó vào ô C1, xem ảnh chụp màn hình:

=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-number-in-cells-1

2. Sau đó nhấn Ctrl + Shift + Enter các phím với nhau, sau đó kéo chốt điền vào phạm vi mà bạn muốn áp dụng công thức này, và bạn sẽ nhận được các số đã được sắp xếp từ nhỏ đến lớn. Xem ảnh chụp màn hình:

doc-sort-number-in-cells-1

Ghi chú:

1. Nếu chữ số của số lớn hơn 15 trong ô, công thức này sẽ không nhận được kết quả chính xác.

2. Nếu bạn muốn sắp xếp các số theo thứ tự giảm dần, bạn có thể sử dụng công thức này: =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. Trong các công thức trên, A1 chỉ ra ô chứa các số bạn muốn sắp xếp, bạn có thể thay đổi theo nhu cầu của mình.


mũi tên màu xanh bong bóng bên phải Sắp xếp các số trong các ô với Hàm do Người dùng Xác định

Vì có một số hạn chế của công thức, bạn có thể sử dụng Chức năng do người dùng xác định để sắp xếp các số trong các ô dài hơn 15 chữ số.

1. Giữ ALT + F11 chìa khóa và nó mở Cửa sổ Microsoft Visual Basic for Applications.

2. Nhấp chuột Chèn > Mô-đunvà dán mã sau vào Cửa sổ mô-đun.

Mã VBA: Sắp xếp số trong các ô

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. Sau đó, lưu và đóng mã này, quay lại trang tính của bạn và nhập công thức này = sortnumsincell (A1) vào một ô trống bên cạnh dữ liệu của bạn, xem ảnh chụp màn hình:

doc-sort-number-in-cells-1

4. Và sau đó kéo chốt điền vào các ô mà bạn muốn chứa công thức này và tất cả các số trong các ô đã được sắp xếp theo thứ tự tăng dần như ảnh chụp màn hình sau:

doc-sort-number-in-cells-1

Chú thích: Nếu bạn muốn sắp xếp các số theo thứ tự giảm dần, vui lòng nhập công thức này = sortnumsincell (A1,1).


mũi tên màu xanh bong bóng bên phải Sắp xếp các số được phân tách bằng dấu phẩy trong các ô có mã VBA

Nếu các số của bạn được phân tách bằng các ký tự nhất định như dấu phẩy, dấu chấm phẩy, dấu chấm, v.v. như ảnh chụp màn hình sau, làm cách nào bạn có thể sắp xếp chúng trong các ô? Bây giờ, tôi giới thiệu một mã VBA để bạn sắp xếp chúng.

doc-sort-number-in-cells-1

1. Giữ ALT + F11 phím để mở Cửa sổ Microsoft Visual Basic for Applications.

2. Nhấp chuột Chèn > Mô-đunvà dán mã sau vào Cửa sổ mô-đun.

Mã VBA: Các số sắp xếp được phân tách bằng dấu phẩy trong ô

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. Sau đó nhấn F5 để chạy mã này, sau đó chọn các ô của bạn chứa các số trong hộp nhắc hiện ra, xem ảnh chụp màn hình:

doc-sort-number-in-cells-1

4. Và sau đó nhấp vào OK, tất cả các số trong ô đã được sắp xếp tăng dần trong phạm vi ban đầu.

Chú thích: Bạn có thể thay đổi dấu phẩy “,” thành bất kỳ ký tự nào khác khi bạn cần trong đoạn mã trên. Và mã này chỉ có thể sắp xếp dữ liệu tăng dần.


Các bài liên quan:

Làm thế nào để sắp xếp các số có dấu gạch ngang trong Excel?

Cách sắp xếp dữ liệu theo giá trị thường gặp nhất trong Excel?

Làm cách nào để sắp xếp địa chỉ email theo miền trong Excel?

Làm thế nào để sắp xếp các hàng để đưa các ô trống lên trên trong Excel?


Các công cụ năng suất văn phòng tốt nhất

Kutools cho Excel giải quyết hầu hết các vấn đề của bạn và tăng 80% năng suất của bạn

  • Tái sử dụng: Chèn nhanh công thức phức tạp, biểu đồ và bất cứ thứ gì bạn đã sử dụng trước đây; Mã hóa ô với mật khẩu; Tạo danh sách gửi thư và gửi email ...
  • Thanh siêu công thức (dễ dàng chỉnh sửa nhiều dòng văn bản và công thức); Bố cục đọc (dễ dàng đọc và chỉnh sửa số lượng ô lớn); Dán vào Dải ô đã Lọchữu ích. Cảm ơn !
  • Hợp nhất các ô / hàng / cột mà không làm mất dữ liệu; Nội dung phân chia ô; Kết hợp các hàng / cột trùng lặp... Ngăn chặn các ô trùng lặp; So sánh các dãyhữu ích. Cảm ơn !
  • Chọn trùng lặp hoặc duy nhất Hàng; Chọn hàng trống (tất cả các ô đều trống); Tìm siêu và Tìm mờ trong Nhiều Sổ làm việc; Chọn ngẫu nhiên ...
  • Bản sao chính xác Nhiều ô mà không thay đổi tham chiếu công thức; Tự động tạo tài liệu tham khảo sang Nhiều Trang tính; Chèn Bullets, Hộp kiểm và hơn thế nữa ...
  • Trích xuất văn bản, Thêm Văn bản, Xóa theo Vị trí, Xóa không gian; Tạo và In Tổng số phân trang; Chuyển đổi giữa nội dung ô và nhận xéthữu ích. Cảm ơn !
  • Siêu lọc (lưu và áp dụng các lược đồ lọc cho các trang tính khác); Sắp xếp nâng cao theo tháng / tuần / ngày, tần suất và hơn thế nữa; Bộ lọc đặc biệt bằng cách in đậm, in nghiêng ...
  • Kết hợp Workbook và WorkSheets; Hợp nhất các bảng dựa trên các cột chính; Chia dữ liệu thành nhiều trang tính; Chuyển đổi hàng loạt xls, xlsx và PDFhữu ích. Cảm ơn !
  • Hơn 300 tính năng mạnh mẽ. Hỗ trợ Office / Excel 2007-2021 và 365. Hỗ trợ tất cả các ngôn ngữ. Dễ dàng triển khai trong doanh nghiệp hoặc tổ chức của bạn. Đầy đủ tính năng Dùng thử miễn phí 30 ngày. Bảo đảm hoàn lại tiền trong 60 ngày.
tab kte 201905

Tab Office mang lại giao diện Tab cho Office và giúp công việc của bạn trở nên dễ dàng hơn nhiều

  • Cho phép chỉnh sửa và đọc theo thẻ trong Word, Excel, PowerPoint, Publisher, Access, Visio và Project.
  • Mở và tạo nhiều tài liệu trong các tab mới của cùng một cửa sổ, thay vì trong các cửa sổ mới.
  • Tăng 50% năng suất của bạn và giảm hàng trăm cú nhấp chuột cho bạn mỗi ngày!
officetab dưới cùng
Nhận xét (13)
Chưa có xếp hạng. Hãy là người đầu tiên xếp hạng!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
thưa bạn, bạn có thể vui lòng giúp để sắp xếp dữ liệu trùng lặp trước cho dù nó nhỏ hay lớn Ví dụ 1211 ---> 1112 9495 ---> 9945 7379 ---> 7739 Cảm ơn rất nhiều vì sự giúp đỡ của bạn
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào, tôi đã tự hỏi UDF này như thế nào, = sortnumsincell (A1,1), có thể được sửa đổi tổng quát hơn, như = sortnumsincell (A1, "", "" ,, 1) nơi đối số đầu tiên, A1, là ô đích, đối số thứ hai,"", là một dấu phân cách có thể lấy bất kỳ ký tự nào hoặc khoảng trắng hoặc không có gì, với đối số thứ ba, "", một dấu phân tách khác hoặc giống nhau và đối số thứ tư, 1 hoặc 0, cho biết sắp xếp tăng dần hoặc giảm dần, với chuỗi kết quả hiển thị, được sắp xếp chính xác, trong một ô, với dấu phân cách mặc định giống như chuỗi ban đầu trừ khi được chỉ định trong thuật ngữ thứ ba. Tôi muốn nó hoạt động cả trên chuỗi và số, và đôi khi đối số thứ hai hoặc thứ ba có thể là nguồn cấp dữ liệu dòng, như sẽ được nhập thủ công bằng alt-enter. Bạn sẽ là người hùng của tháng nếu bạn có thể làm được điều đó. Tôi đã thử nhưng thất bại thảm hại. Cảm ơn bạn.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Tôi có một loạt ô có các số được phân tách bằng khoảng trắng mà tôi muốn sắp xếp. ví dụ: 8 4 5 1 6 3 mà tôi muốn sắp xếp là 1 3 4 5 6 8 Mọi sự trợ giúp được đánh giá cao
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Có cách nào để sắp xếp nhiều số hơn trong cùng một thời điểm từ một ô không? Ví dụ, tôi có danh sách 50000 số tài sản như A1234, A1235 ... và tôi cần kéo 500 số cụ thể và tôi cần kéo 500 vào thời điểm đó để thực hiện thay đổi và lưu. Cảm ơn bạn
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
cần sắp xếp 84-12-74-26-98 thứ tự nào 12-26-74-84-98 hoặc 98-84-74-26-12 xin cảm ơn
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Nếu CInt (Arr (xMin))> CInt (Arr (j)) và nó hoạt động
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
tôi muốn sắp xếp tổng số tiền từ 14000 đến 20000 từ hàng khác nhau Ví dụ: - 2000,1500 một hàng và như vậy tất cả số hàng cần sắp xếp
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào, mã VBA dường như xuất sai, ví dụ trước 13,50,47,7,39 và sau 13-39-47-50-7. Bất kỳ ý tưởng tại sao?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
hOLA, MI ExplMA ES QUE TENGO EXEL 2019 EN ESPAÑOL COMO SERIA LA CÔNG THỨC?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Làm cách nào để sắp xếp văn bản AZ trong một ô trong Excel?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào, cảm ơn vì rất tốt cho việc sắp xếp các số được phân tách bằng dấu phẩy trong các ô có mã VBA
Chỉ là tôi đã phải đối mặt với một vấn đề với mã.
Mã không thể phát hiện số có ba chữ số. ví dụ: các số (65, 93, 53, 72, 64, 85, 103, 48, 77, 81, 54) sau khi áp dụng mã, thứ tự mới (103, 48, 53, 54, 64, 65, 72, 77, 81, 85, 93)
Bạn có giải pháp nào cho vấn đề này không?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào, omer, Có thể mã dưới đây có thể giúp bạn, vui lòng thử:
Chức năng công khai CellSort (r As Range) Như một chuỗi
Dim bry () As Long, L As Long, U As Long
ch = r (1). Văn bản
ary = Split (ch, ",")
L = LBound (ary)
U = UBound (ary)
ReDim bry (L đến U)
Đối với i = LBound (ary) Đến UBound (ary)
bry (i) = CLng (ary (i))
Tiếp theo
Gọi BubbleSort (bry)
Đối với i = LBound (bry) Đến UBound (bry)
ary (i) = CStr (bry (i))
Tiếp theo
CellSort = Tham gia (ary, ",")
Cuối Chức năng

Sub BubbleSort (arr)
Dim strTemp làm biến thể
Dim i As Long
Mờ j Như Lâu
Dim lngMin As Long
Dim lngMax As Long
lngMin = LBound (arr)
lngMax = UBound (arr)
Đối với i = lngMin Đến lngMax - 1
Đối với j = i + 1 Đến lngMax
Nếu arr (i)> arr (j) Thì
strTemp = arr (i)
arr (i) = arr (j)
arr (j) = strTemp
Cuối Nếu
Tiếp theo j
Tiếp theo
Kết thúc SubSau khi chèn mã trên, vui lòng áp dụng công thức này: = CellSort (A1).Và bạn sẽ nhận được kết quả mà bạn cần.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào, se pueden ordenar letras en una sola celda por orden afabético? Bạn sử dụng excel cho Mac. cám ơn
Không có bình luận nào được đăng ở đây
Để lại ý kiến ​​của bạn
Đăng với tư cách khách
×
Đánh giá bài viết này:
0   Nhân vật
Các vị trí được đề xuất

Kết nối với chúng tôi

Bản quyền © 2009 - www.extendoffice.com. | Đã đăng ký Bản quyền. cung cấp bởi ExtendOffice. | BẢN ĐỒ CHI NHÁNH
Microsoft và logo Office là các nhãn hiệu hoặc nhãn hiệu đã đăng ký của Microsoft Corporation tại Hoa Kỳ và / hoặc các quốc gia khác.
Được bảo vệ bởi Sectigo SSL