excel (超级查询)对带有前缀的姓氏进行排序

nc1teljy  于 2022-12-01  发布在  其他
关注(0)|答案(1)|浏览(98)

我有一个要在Power Query中排序的姓名列表。假设该列表如下所示:

Bloggs, Joe  
West, Pete  
de Villers, Jose

而且排序后还是那个样子!
看起来前缀“德维勒”是造成一个不适当的排序,但尽管浪费了一个小时搜索谷歌我找不到答案。
我真的不在乎“德维勒”是按“d”还是“V”排序,但把它放在列表的底部是行不通的。
谢谢你,
克里斯
原来的问题是排序这些:

Bloggs
Joe West
Pete de Villers
Jose
wqlqzqxt

wqlqzqxt1#

这样如何呢,在空格后的最后一项和空格前的第一项上排序

= List.Sort(Source, (x, y) => Value.Compare(
    List.Last(Text.Split(Text.Upper(x)," "))&List.First(Text.Split(Text.Upper(x)," ")),
    List.Last(Text.Split(Text.Upper(y)," "))&List.First(Text.Split(Text.Upper(y)," "))
))

针对变更的要求编辑了答案

由于新需求已经是姓氏优先,这将忽略大小写对列表进行排序

Sorted = List.Sort(Source, (x, y) => Value.Compare(Text.Upper(x), Text.Upper(y)))

相关问题