这个工具能做什么
表格列排序工具会根据你指定的某一列作为排序依据,对粘贴进来的表格各行重新排序。它是一款纯粹、通用的数据小工具,不涉及任何特定国家或地区的规则。你只需输入或粘贴表格数据(每行一条,列与列之间用英文逗号或制表符分隔),选好列号和排序方式,工具就会返回行顺序已重新排列、其余内容保持不变的表格。每一列都会跟随所在行一起移动,因此数据始终对齐、不会错位。
使用方法
在文本框中录入你的数据,每行一条记录。将 排序列号 设置为你想排序的那一列的序号(从 1 开始计,第 1 列即第一列)。然后选择 从小到大(升序)或 从大到小(降序)。如果把列号填成 0,工具就不会重新排序,而是在每行末尾追加一个“行合计”列,数值等于该行所有数字单元格之和。
$$\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)$$
排序逻辑详解
对于每一行,排序的依据是第 c \(-\) 1 个位置上的单元格(因为列号 \(c\) 是从 1 开始计数的)。如果该单元格能被识别为数字,就按数值大小比较;否则按文本进行比较。在同时包含数字和文字的混合列里,数字会排在文本之前。工具采用 稳定排序,因此排序值相同的行会保持原有的先后顺序。空白单元格会被视为最小值,在升序时排在最前面。
实例演示
假设有三行数据,三列分别为 姓名、分数、年龄:
Alice, 80, 30
Bob, 95, 22
Carol, 88, 41
按第 2 列(分数)升序排序,排序值依次为 \(80\)、\(88\)、\(95\),得到的结果是:
Alice, 80, 30
Carol, 88, 41
Bob, 95, 22
切换为降序后,顺序则颠倒为 Bob、Carol、Alice。
常见问题
如果某一列既有数字又有文字怎么办?数字单元格会按数值大小排序,并排在所有文本单元格前面;文本单元格则按字母顺序排列。
列号超出范围会怎样?如果填写的列号大于实际列数,工具会原样返回表格,不做任何改动。
重复值能正确处理吗?可以。稳定排序会保留排序值相同的各行原有的相对顺序。