MS Excel 2016 Power Query重音字母排序异常问题求助
这个问题我太熟悉了!Power Query默认的排序逻辑确实会把š、č这类带重音的字符挤到数据集末尾,不过有两个亲测有效的解决办法,看你更适合哪种:
方法1:调整Power Query的区域设置(一劳永逸)
Power Query的排序规则是跟着区域文化走的,默认设置可能没适配包含这类重音字符的语言排序逻辑。操作步骤很简单:
- 打开Power Query编辑器,点击顶部菜单栏的文件 > 选项和设置 > 查询选项
- 在弹出的窗口左侧选择区域设置,然后在「当前区域」的下拉菜单里,选一个原生支持重音字符字典序排序的区域,比如斯洛伐克语(斯洛伐克)或者克罗地亚语(克罗地亚)——这些语言本身就常用š、č,排序规则就是让它们紧跟对应的无重音字母
- 点击确定后,重新对名称列执行排序,你会发现š乖乖跟在s后面,č紧跟c了
方法2:用辅助列移除重音后排序(灵活适配单查询)
如果不想修改全局的区域设置,怕影响其他查询的逻辑,可以用辅助列的方式:
- 在Power Query编辑器里,点击添加列 > 自定义列,给新列命名为
排序辅助列,输入下面的M代码(记得把[你的名称列名]替换成你实际的列名,比如[Name]):
Text.RemoveAccents([你的名称列名])
- 现在对这个
排序辅助列做升序排序,原名称列会跟着辅助列的顺序排列,自然就实现了š跟s、č跟c的排序效果 - 排序完成后,右键点击
排序辅助列,选择删除或者隐藏,就得到你想要的最终数据集了
两种方法都能解决问题,方法1适合长期需要处理这类字符的场景,方法2更灵活,只针对当前查询生效。
内容的提问来源于stack exchange,提问作者vondravl
相关产品推荐
相关产品推荐

