当我用Excel或一些VBA (Range.Sort
)排序列表时,我得到了一个意想不到的结果。在对文本进行排序时,连字符似乎被忽略了:
用Excel排序的列表
align-content
align-items
alignment-baseline << Should be after "align-self"
align-self
animation-delay
与Libre Office
相同的列表align-content
align-items
align-self
alignment-baseline
animation-delay
文档没有提供任何关于此行为的信息:
https://support.office.com/en - gb/article/sort -数据- - - - - -或-表- 62 d0b95d范围2 -前- 4610 - a6ae - 2 - e545c4a4654?ui=en us& rs = en-GB&广告= GB # __toc246836970
https://msdn.microsoft.com/en-us/library/office/ff840646.aspx那么这种行为背后有什么规则吗?
是否有一个选项可以像人类一样对列表进行排序(就像Libre Office那样)?
Excel在排序时会忽略连字符,除非这是两个单词之间唯一的区别。
一种解决方法是创建一个"辅助列",用点(代码46)替换连字符(代码45)。对辅助列 进行排序=SUBSTITUTE(A1,"-",".")
我在某处读到默认排序顺序有一个序列:
- 撇号
- 字符
前两个通常被忽略
既然如此,用空格替换连字符可能更符合逻辑。