【发布时间】:2021-05-31 18:48:36
【问题描述】:
我面临下一个问题:我在 Excel 中有以下数据库,我想对“金额”变量进行升序排序,同时考虑到 3 个不同的组(组 X、项目 ZZ 和组 Z),而不仅仅是必须对组进行排序,但也必须对它们的相应项目进行排序。
- GROUP X 有 3 个不同的项目按升序排序(ITEM XA、ITEM XB、ITEM XC)。
- ITEM ZZ 是一个没有分组的条目,所以它本身可以被认为是一个分组。
- GROUP Y 有 4 个项目(ITEM YA、ITEM YB、ITEM YC、ITEM YD)按升序排序。
我正在使用的数据库是下一个:
| Code | Name | Amount |
|---|---|---|
| 10010 | GROUP X | 20000 |
| 10011 | ITEM XA | 2000 |
| 10012 | ITEM XB | 8000 |
| 10013 | ITEM XC | 10000 |
| 10020 | ITEM ZZ | 22000 |
| 10030 | GROUP Y | 26000 |
| 10031 | ITEM YA | 11000 |
| 10032 | ITEM YB | 5000 |
| 10033 | ITEM YC | 9000 |
| 10043 | ITEM YD | 1000 |
Ant 变量排序后我想要得到的结果如下:
| Code | Name | Amount |
|---|---|---|
| 10030 | GROUP Y | 26000 |
| 10031 | ITEM YA | 11000 |
| 10033 | ITEM YC | 9000 |
| 10032 | ITEM YB | 5000 |
| 10043 | ITEM YD | 1000 |
| 10020 | ITEM ZZ | 22000 |
| 10010 | GROUP X | 20000 |
| 10013 | ITEM XC | 10000 |
| 10012 | ITEM XB | 8000 |
| 10011 | ITEM XA | 2000 |
如您所见,它首先对组进行了排序,并且在每个组内,项目也按升序排序。
如果有人能帮我解决这个问题,我将不胜感激
【问题讨论】:
-
因为您遵循的是非逻辑排序(逻辑将是 az、za),所以您需要一个辅助列,因此根据
Name的值,您可以指定一个值和顺序通过那个。此外,您使用 VBA 和 VB.NET 标记了问题,它们不相同。如果您需要 VBA 解决方案,请发布您尝试过的代码。 -
提前感谢您的回答。已经有一个名为“代码”的辅助列,其对应的组和项目的前 4 个值相同。然而,仅仅获得预期的结果是不够的。此外,问题中的其他标签只是因为 Excel 可能无法解决这个问题,所以我愿意尝试其他不同的方式。
标签: excel vba vb.net sorting grouping