当我使用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://msdn.microsoft.com/en-us/library/office/ff840646.aspx
这种行为背后有什么规则吗?
是否可以选择以与人类相同的方式对列表进行排序(如Libre Office所做的那样)?
答案 0 :(得分:4)
Excel在进行排序时会忽略连字符,除非这是两个单词之间的唯一区别。
一个解决方法是创建一个&#34;帮助列&#34;,用 dot 替换连字符(代码45)(代码46)。 在辅助列上排序
=SUBSTITUTE(A1,"-",".")
我已经在某处找到了默认排序顺序的序列:
前两个通常被忽略
在这种情况下,用空格替换连字符可能更符合逻辑。