Cách sắp xếp theo từng hàng riêng lẻ trong Excel

Trong một trong các ví dụ trước, chúng tôi đã thảo luận cách sắp xếp thứ tự các hàng trong Excel bằng cách sử dụng hộp thoại Sắp xếp. Trong ví dụ đó, chúng tôi đã xử lý một tập dữ liệu tương quan. Nhưng nếu mỗi hàng chứa thông tin độc lập thì sao? Làm thế nào để bạn sắp xếp theo từng hàng riêng lẻ?
 
Trong trường hợp bạn có số lượng hàng hợp lý, bạn có thể sắp xếp từng hàng một để thực hiện các bước này . Nếu bạn có hàng trăm hoặc hàng ngàn hàng, đó sẽ là một sự lãng phí thời gian rất lớn. Công thức có thể làm điều tương tự nhanh hơn nhiều.
 
Mời bạn xem thêm:
 
 
 
 
Giả sử bạn có nhiều hàng dữ liệu nên được sắp xếp lại theo thứ tự abc như sau:
 
cách sắp xếp thứ tự các hàng trong Excel
 
Để bắt đầu, hãy sao chép nhãn hàng vào trang tính khác hoặc vị trí khác trong cùng một trang tính, sau đó sử dụng công thức mảng sau để đặt mỗi hàng theo thứ tự bảng chữ cái (trong đó B2: D2 là hàng đầu tiên trong bảng nguồn):
 
=INDEX($B2:$D2, MATCH(COLUMNS($B2:B2), COUNTIF($B2:$D2, "<="&$B2:$D2), 0))
 
Hãy nhớ rằng cách chính xác để nhập công thức mảng trong Excel là nhấn Ctrl + Shift + Enter .
 
sao chép công thức
 
Nếu bạn không cảm thấy thoải mái với công thức mảng Excel, vui lòng làm theo các bước sau để nhập chính xác vào trang tính của bạn:
 
Nhập công thức vào ô đầu tiên (G2 trong trường hợp của chúng tôi) và nhấn Ctrl + Shift + Enter . Khi bạn làm điều này, Excel sẽ bao bọc công thức trong {dấu ngoặc nhọn}. Đừng thử gõ dấu ngoặc theo cách thủ công, điều đó sẽ không hoạt động.
 
Chọn ô công thức (G2) và kéo thanh điều khiển điền vào bên phải để sao chép công thức sang các ô khác của hàng đầu tiên (lên đến ô I2 trong ví dụ này).
 
Chọn tất cả các ô công thức trong hàng đầu tiên (G2: I2) và kéo thanh điều khiển điền xuống để sao chép công thức sang các hàng khác.
 
Lưu ý quan trọng! Công thức trên hoạt động với một vài lưu ý: dữ liệu nguồn của bạn không được chứa các ô trống hoặc các giá trị trùng lặp .
 
Nếu tập dữ liệu của bạn có một số khoảng trắng, hãy bọc công thức trong hàm IFERROR :
 
=IFERROR(INDEX($B2:$D2,MATCH(COLUMNS($B2:B2),COUNTIF($B2:$D2,"<="&$B2:$D2),0)), "")
 
Thật không may, không có giải pháp dễ dàng cho các bản sao. Nếu bạn biết một, xin vui lòng chia sẻ trong ý kiến!
 
Cách thức hoạt động của công thức này
 
Công thức trên được dựa trên kết hợp INDEX MATCH cổ điển được sử dụng để thực hiện tra cứu ngang trong Excel . Nhưng vì chúng ta cần loại "tra cứu bảng chữ cái", chúng tôi đã xây dựng lại nó theo cách này:
 
COUNTIF ($ B2: $ D2, "<=" & $ B2: $ D2) so sánh tất cả các giá trị trong cùng một hàng với nhau và trả về một mảng các xếp hạng tương đối của chúng. Ví dụ, trong dòng 2 nó sẽ trả về {2,3,1}, có nghĩa là Caden 2 nd , Oliver là 3 rd, và Aria là 1 st . Bằng cách này, chúng ta lấy mảng tra cứu cho hàm MATCH.
 
COLUMNS ($ B2: B2) cung cấp giá trị tra cứu. Do sử dụng thông minh các tham chiếu tuyệt đối và tương đối, số được trả về được tăng lên 1 khi chúng tôi đi đúng. Tức là, đối với G2, giá trị tra cứu là 1, đối với H2 - 2, đối với I2 - 3.
 
MATCH tìm kiếm giá trị tra cứu được tính bằng COLUMNS () trong mảng tra cứu được trả về bởi COUNTIF () và trả về vị trí tương đối của nó. Ví dụ, đối với G2, giá trị tra cứu là 1, nằm ở vị trí thứ 3 trong mảng tra cứu, vì vậy MATCH trả về 3.
 
Cuối cùng, INDEX chiết xuất giá trị thực dựa trên vị trí tương đối của nó trong hàng. Đối với G2, nó lấy giá trị thứ 3 trong phạm vi B2: D2, là Aria

 



Hãy like để nhận nhiều bài viết mới nhất - Cùng chia sẻ kinh nghiệm làm kế toán

Bình luận

Bình luận

Các bài viết mới

Các tin cũ hơn