如何使用Excel/Visual Basic对聚合进行排序
我面临的是下一个问题:我在Excel中有以下数据库,我想对“金额”变量进行升序排序,考虑到有3个不同的组(组X、项目ZZ和组Z),不仅要对组进行排序,还要对相应的项目进行排序如何使用Excel/Visual Basic对聚合进行排序,excel,vba,vb.net,sorting,grouping,Excel,Vba,Vb.net,Sorting,Grouping,我面临的是下一个问题:我在Excel中有以下数据库,我想对“金额”变量进行升序排序,考虑到有3个不同的组(组X、项目ZZ和组Z),不仅要对组进行排序,还要对相应的项目进行排序 X组有3个不同的项目需要进行上排排序(项目XA、项目XB、项目XC) ZZ项是一个没有组的项,因此它本身可以被视为一个组 Y组有4个项目(项目YA、项目YB、项目YC、项目YD)要进行升序排序 我正在使用的数据库是下一个: 密码 名称 数量 10010 X组 20000 10011 项目XA 2000 10012 项目
- X组有3个不同的项目需要进行上排排序(项目XA、项目XB、项目XC)
- ZZ项是一个没有组的项,因此它本身可以被视为一个组
- Y组有4个项目(项目YA、项目YB、项目YC、项目YD)要进行升序排序
这可以单独在Excel中完成 要获得显示的结果,需要按以下方式排序:
Y、Z、X的自定义顺序分组
- 然后按数量降序排列
=LEFT(TRIM(RIGHT(SUBSTITUTE(B2," ",REPT(" ",99)),99)))
然后进入排序对话框:
结果
因为您遵循的是非逻辑排序(逻辑将是a-z,z-a),因此需要一个辅助列,因此根据
Name
的值,您可以分配一个值并按该值排序。此外,您还使用VBA和VB.NET为问题添加了标签,这两个版本不相同。如果您想要VBA解决方案,请发布您尝试过的代码。提前感谢您的回答。已经有一个名为“Code”的辅助列,其对应的组和项的前四个值相同。然而,这还不足以达到预期的效果。此外,问题中的其他标记只是因为Excel可能无法解决此问题,所以我愿意尝试其他不同的方法。我知道自定义列表,但不知道它们可以用作自定义排序字段。这太好了。我在一个助手列中考虑,根据组的不同,使用数值,但这个答案确实是最好的选择。@FoxfireAndBurnsAndBurns这实际上是我在Excel中自定义列表的主要用途:-)