Công cụ này làm gì
Công cụ sắp xếp bảng theo cột giúp bạn sắp xếp lại các dòng của một bảng dán vào, dựa trên một cột mà bạn chọn làm khóa sắp xếp. Đây là tiện ích xử lý dữ liệu thuần túy, dùng được ở mọi nơi và không phụ thuộc vào quy định của bất kỳ quốc gia nào. Bạn chỉ cần gõ hoặc dán dữ liệu (mỗi dòng một hàng, các cột ngăn cách nhau bằng dấu phẩy hoặc tab), chọn số thứ tự cột cùng thứ tự sắp xếp, và công cụ sẽ trả về đúng bảng đó với các dòng đã được sắp xếp lại. Toàn bộ các cột khác sẽ di chuyển theo dòng của nó, nhờ vậy dữ liệu luôn được giữ thẳng hàng.
Cách sử dụng
Nhập bảng của bạn vào ô văn bản, mỗi dòng tương ứng với một hàng. Đặt Số thứ tự cột cần sắp xếp bằng vị trí của cột bạn muốn dùng làm khóa, tính từ 1 (cột 1 là cột đầu tiên). Chọn Từ nhỏ đến lớn (tăng dần) hoặc Từ lớn đến nhỏ (giảm dần). Nếu bạn nhập 0 vào ô số cột, công cụ sẽ không sắp xếp lại; thay vào đó nó sẽ thêm một cột tổng vào cuối, bằng tổng các ô chứa số trong mỗi dòng.
$$\text{SortedTable} = \operatorname{sort}_{\;\uparrow}\Big(\text{Rows},\; \text{col} = \text{Column No.}\Big)$$ $$\text{SortedTable} = \operatorname{sort}_{\;\downarrow}\Big(\text{Rows},\; \text{col} = \text{Column No.}\Big)$$ $$\text{Total}_{\text{row }i} = \sum_{j} \text{numeric cells}_{ij}\qquad(\text{Column No.} = 0)$$Giải thích công thức
Với mỗi dòng, khóa sắp xếp là ô ở vị trí \(c - 1\) (vì \(c\) được đếm từ 1). Nếu ô đó là một con số thì sẽ được so sánh theo giá trị số; nếu không, ô sẽ được so sánh như văn bản. Trong một cột pha trộn cả số lẫn chữ, các con số luôn được xếp trước phần chữ. Công cụ dùng thuật toán sắp xếp ổn định, nên những dòng có khóa giống hệt nhau vẫn giữ nguyên thứ tự ban đầu. Ô để trống được xem là giá trị nhỏ nhất và sẽ nổi lên đầu khi sắp xếp tăng dần.
Ví dụ minh họa
Giả sử có ba dòng với các cột Tên, Điểm, Tuổi:
Alice, 80, 30
Bob, 95, 22
Carol, 88, 41
Sắp xếp theo cột 2 (Điểm), tăng dần, ta có các khóa \(80, 88, 95\), nên kết quả là:
Alice, 80, 30
Carol, 88, 41
Bob, 95, 22
Nếu chuyển sang giảm dần, thứ tự sẽ đảo lại thành Bob, Carol, Alice.
Câu hỏi thường gặp
Nếu một cột vừa có số vừa có chữ thì sao? Các ô chứa số sẽ được sắp xếp theo giá trị số và xếp trước các ô chữ; sau đó các ô chữ được sắp xếp theo thứ tự bảng chữ cái.
Chuyện gì xảy ra nếu nhập số cột vượt quá phạm vi? Nếu số cột lớn hơn tổng số cột thực tế, bảng sẽ được trả về nguyên vẹn, không thay đổi.
Các giá trị trùng lặp có được xử lý an toàn không? Có. Thuật toán sắp xếp ổn định luôn giữ nguyên thứ tự tương đối ban đầu của những dòng có cùng khóa.