Sắp xếp chữ và số trong Excel


11

Trong Excel, có thể sắp xếp các chữ số từ a-1, a-2, a-3 ... a-123 thay vì a-1, a-10, a-100, a-11?

Sắp xếp qua cũ nhất đến mới nhất hoặc qua AZ, chắc chắn sẽ không cho tôi kết quả tôi muốn. Tôi đã thử định dạng các ô dưới dạng số, nhưng không được.

Tôi bị kẹt.


Xin chào @beccabecca, vui lòng chấp nhận câu trả lời, vì điều này không chỉ hữu ích cho những người có câu hỏi tương tự với bạn, mà còn thưởng cho những người đã làm việc để cung cấp giải pháp cho bạn. Chúc mừng!
David Michael Gregg

Câu trả lời:


4

Kết quả

Người dùng @ fixer1234 đã đúng, có lẽ bạn muốn sử dụng các hàm chuỗi. Đây là một cách để làm điều đó.

Bước 1

[Đã cập nhật]

Trong cột "Số", tô sáng phạm vi, sau đó phân chia văn bản ở dấu gạch nối: làm ...

Data> Text to Columns> Delimited> Next> Other: ->Finish

Lưu ý rằng bạn cần một dấu gạch nối ( - ) trong Other:hộp văn bản. Và đảm bảo rằng cột liền kề (bên phải) trống trước khi bạn thực hiện việc này, để bạn không ghi đè lên dữ liệu quan trọng.

Bạn cũng có thể sử dụng chức năng này để trích xuất số từ cột A:

=RIGHT(A2,LEN(A2)-SEARCH("-",A2))

Bước 2

Bây giờ, những gì chúng ta sẽ làm trong bước tiếp theo, như bạn có thể biết từ ảnh chụp màn hình ở trên, là nối các số 0 vào đầu mỗi số có ít chữ số hơn số lớn nhất. Điều này sẽ cho phép bạn sắp xếp những con số này theo cách bạn mong muốn.

Nhưng trước tiên, chúng ta cần thực hiện một chút tìm hiểu thực tế. Nếu bạn có thể dễ dàng biết được số lớn nhất là gì, thì chỉ cần đếm các chữ số trong số lớn nhất đó - đây sẽ là số không bạn muốn sử dụng trong hàm tiếp theo của chúng tôi. Có một cách khác để xác định số dài nhất, mà không phải đếm các chữ số của số lớn nhất theo cách thủ công.

[CẬP NHẬT] Bạn có thể sử dụng chức năng sau (mặc dù cho đến nay chúng tôi không biết tại sao ) để xác định số dài nhất:

=MAX(INDEX(LEN(C2:C14),,1))

Ngoài ra, bạn có thể chỉ cần nhập công thức sau vào một ô (bạn thấy phần này trong hình trên là ô được tô sáng màu cam), nhưng thay vì chỉ cần nhấn ENTERphím của bạn để đặt ô, hãy nhấn phím nóng CTRL-SHIFT-ENTER. Điều này sẽ thay đổi bản chất của hàm, biến nó thành một công thức mảng , mà không phải chơi đồ chơi với các hàm như INDEX().

=MAX(LEN(C2:C14))

(Đảm bảo rằng phạm vi chính xác cho bảng tính cụ thể bạn đang sử dụng.)

Sau khi bạn nhấn CTRL-SHIFT-ENTER, nội dung của ô sẽ thay đổi thành này, nhưng nhập thủ công sẽ không làm gì:

{=MAX(LEN(C2:C14))}

Tuy nhiên bạn muốn làm điều đó là tốt. Chỉ cần xác định có bao nhiêu chữ số tạo thành số lớn nhất trong danh sách của bạn: "1" tất nhiên có 1 chữ số, "10" có 2 chữ số, "100" có 3 chữ số, v.v.

Bước 3

Cuối cùng, trong cột "Mở rộng", chức năng này sẽ chuyển đổi các số từ cột "Số" thành văn bản với số lượng số 0 trước bạn đã xác định bạn nên sử dụng trong Bước 2.

=TEXT(C2,"000")

Hãy chắc chắn rằng bạn đặt dấu ngoặc kép xung quanh các số 0.

Nếu số lớn nhất có 8 chữ số, thì hàm của bạn sẽ trông như thế này:

=TEXT(C2,"00000000")

2

Một giải pháp đơn giản là sử dụng các hàm chuỗi để đặt các giá trị số trong một cột mới dưới dạng số. Sau đó sắp xếp trên cột đó. Bạn đã không chỉ định cách các giá trị có thể thay đổi hoặc cách chúng được sắp xếp, nhưng một ví dụ:

Giả sử tiền tố "a-" không bao giờ thay đổi, các mục nhập ở col A bắt đầu ở hàng 2 và col B có sẵn. Trong B2, bạn sẽ đặt một cái gì đó như: = value (mid (a2,3, len (a2) -2)) và sau đó sao chép công thức khi cần. Để sắp xếp, tô sáng cả hai cột và sắp xếp trên B.

Nếu có thể có các tiền tố khác, giả sử b-, c-, v.v., tương tự tách phần văn bản sang cột khác. Sau đó sắp xếp trên cột văn bản là cột sắp xếp đầu tiên và cột số là cột thứ hai.

Tất cả mọi thứ bạn làm nổi bật sẽ được sắp xếp theo các cột sắp xếp.

Để giải thích các hàm chuỗi, bắt đầu với hàm mid, trích xuất một chuỗi ký tự từ bên trong một chuỗi ký tự. mid (a2,3, len (a2) -2) nhìn vào văn bản trong a2, bắt đầu bằng ký tự thứ ba (chữ số đầu tiên giả sử tất cả các tiền tố là "a-"), sau đó lấy số lượng ký tự là ít hơn hai số trong văn bản gốc (độ dài của văn bản gốc trừ các ký tự "a-"). Hàm giá trị sau đó biến kết quả đó thành một số thay vì một chuỗi các ký tự số.


Xin lỗi, bạn có thể giải thích chi tiết hơn một chút không? Hàm chuỗi là gì?
beccabecca

Vậy, với B3 sẽ là = value (mid (a3,3, len (a3) ​​-2))? Tôi có đúng không Sau đó, nó sẽ được như vậy và như vậy? Xin lỗi tôi hy vọng tôi không hỏi những câu hỏi ngớ ngẩn ...
beccabecca

Bạn đã nhận nó. Khi bạn tạo công thức trong B2, bạn có thể sao chép nó, tô sáng các ô B cho bao nhiêu hàng bạn cần và dán. Nó sẽ tự động thay đổi các tham chiếu ô để khớp từng hàng.
fixer1234

2

Tôi có dữ liệu sau:

[Student Name]  [Regn. No (AlphaNum)]    [Test Score]

Lisa            DD38                      90

Aletta          BC36                      85

Ava             AB40                      95

Sunny           BB34                      91

Sofia           CD36                      89

Johnny          CM07                      80

Dữ liệu ban đầu được sắp xếp theo Chuỗi AlphaNumeric

Tôi muốn các sinh viên và nhãn hiệu được sắp xếp theo số đăng ký của họ, đó là các chuỗi chữ và số. Đầu ra cuối cùng sẽ như thế này:

[Student Name]  [Regn. No (AlphaNum)]    [Test Score]

Ava             AB40                      95

Sunny           BB34                      91

Aletta          BC36                      85

Sofia           CD36                      89

Johnny          CM07                      80

Lisa            DD38                      90

Đầu ra cuối cùng sẽ trông như thế này

Làm thế nào để:

Các bước để chuyển đổi chuỗi chữ và số thành số thuần

Mặc dù ảnh chụp nhanh ở trên là rõ ràng, tuy nhiên, các bước như sau:

  1. Trích xuất phần chữ cái trong một cột bằng =LEFT(B4, 2)công thức, trong đó '2' hiển thị số lượng bảng chữ cái trong chuỗi và chuỗi của tôi bắt đầu từ đó B4.

  2. Gán một số cho phần chữ cái này bằng cách sử dụng =COLUMN(INDIRECT(E4&1))

  3. Trích xuất phần số của số đăng ký bằng cách sử dụng =RIGHT(B4,2)như công thức. Ở đây '2' là không. các số trong chuỗi.

  4. Nối hai phần trong 2 và 3

  5. Chuyển đổi chúng thành số 'thuần' bằng cách sử dụng =VALUE(H4)

  6. Sao chép cột cuối cùng vào bảng gốc và sử dụng tùy chọn Dán dưới dạng 'Giá trị'

    Dữ liệu ban đầu được nối với các chuỗi chữ và số được chuyển đổi thành số

  7. Bây giờ, sắp xếp theo cột cuối cùng và chọn 'Mở rộng lựa chọn'

    Sắp xếp 1

    Sắp xếp 2

  8. Làm xong!!!

    Đầu ra cuối cùng

Quan trọng: Pro-Tip -> Kết hợp các bước từ 1 đến 5 bằng cách sử dụng =VALUE(CONCATENATE(COLUMN(INDIRECT(LEFT(B4,2)&1)),RIGHT(B4,2)))


Ngoài ra: như trong ví dụ này, tất cả các số đăng ký đều có cùng độ dài, sử dụng các số 0 đứng đầu cho phần số : sẽ không phải là một công việc sắp xếp thông thường ra khỏi hộp chứ?
Arjan
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.