我正在处理一个电子表格,其中有一些数据按以下格式组织:
Row 1: [Train Origin]
Row 2: [Train Destination]
Row 3: [Train Code]
这些项目按列排列。
我需要按成对的方式对这些信息进行排序,即按一个目的地和一个出发地进行排序,例如:列出的第一列火车将从目的地 A 开往目的地 B,然后从 B 开往 A,然后从 C 开往 D,再从 D 开往 C,等等。然后我将按火车代码的字母顺序进行排序。如何使用本机函数或可能的 VBA 来完成此操作?我尝试使用本机排序函数,但没有成功。
以下是 Excel 当前排序方式的屏幕截图:
我希望如此:
提前致谢。
答案1
最简单的解决方案是创建一个具有适当键的辅助行,然后根据该键对表进行排序。
顶级顺序是一对Origin/Destination
或Destination/Origin
。构造组标识符前缀的一种方法是连接该对,将字典顺序较小的一个放在前面,并使用表中未使用的分隔符,例如:和 都Paris/SPI
将SPI/Paris
有一个前缀Paris@SPI
。要创建键,请使用分隔符将此前缀与所有三个字段连接起来。
例如,假设表位于 中A1:Z3
,则输入
=if(A1<A2,A1&"@"&A2,A2&"@"&A1)&"@"&A1&"@"&A2&"@"&A3
在A4
,将此公式复制/拖动到表格行的末尾
然后使用此行对表格数据进行排序:
排序表: