使用非字母数字字符sorting的范围的意外顺序
当我使用Excel或某些VBA( Range.Sort
)对列表进行sorting时,出现意外的结果。 当文本被sorting时,连字符似乎被忽略:
用Excelsorting的列表
align-content align-items alignment-baseline << Should be after "align-self" align-self animation-delay
与自由办公室sorting相同的列表
align-content align-items align-self alignment-baseline animation-delay
该文档不提供有关此行为的任何信息:
https://support.office.com/en-gb/article/Sort-data-in-a-range-or-table-62d0b95d-2a90-4610-a6ae-2e545c4a4654?ui=en-US&rs=en-GB&ad= GB #__ toc246836970
https://msdn.microsoft.com/en-us/library/office/ff840646.aspx
那么这个行为背后有什么规则?
有没有一种方法可以像人们所做的那样(如自由职业办公室那样)对列表进行sorting?
Excel忽略了连字符,除非这是两个单词之间的唯一区别。
一个解决办法是创build一个“助手列”,用点代替连字符 (代码45)(代码46)。 sorting在帮手列上
=SUBSTITUTE(A1,"-",".")
我读过一些地方,默认的sorting顺序有一个序列:
- 撇号
- 连字符号
- 空间
与前两个一般忽略
既然如此,用空格replace连字符可能更合乎逻辑。