我需要对一个混合了实际数字和文本的 Excel 工作表进行排序,其中的数字可能后跟文本。
例如,如果以下列表是随机的,则最终结果应该是:
54 <-- Actual number
55
56
57
57B <-- Number followed by a letter
57M <-- Yet another letter
58
58M
59
59M
60
60B
61
61M
62
62B
63
64
65
66
90
99
99A
100
100B
100B2
120
120B
我尝试了一百万种不同的方法。但是,我无法找到像这样对工作表进行排序的方法。有没有办法做到这一点?某种“人性化”排序?
最佳答案
使用以下公式添加辅助列:
=TEXT(IFERROR(LEFT(A1,MIN(IF(ISERROR(--MID(A1,SEQUENCE(LEN(A1)),1)),SEQUENCE(LEN(A1))))-1),A1),"000")&IFERROR(MID(A1,MIN(IF(ISERROR(--MID(A1,SEQUENCE(LEN(A1)),1)),SEQUENCE(LEN(A1)))),LEN(A1)),"")
然后排序。注意:更改
"000"
到与列表中最大数字相同的位数。此外,如果没有 SEQUENCE 用
ROW($ZZ$1:INDEX($ZZ:$ZZ,LEN(A1)))
替换该部分。然后,在退出编辑模式时,还需要使用 Ctrl-Shift-Enter 而不是 Enter 来确认公式。按 A 列排序:
按 B 列排序:
关于excel - 将数字和字符串排序在一起,其中字符串是可以后跟字母的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71872963/