![如何在 Excel 中使用两对单元格进行排序?](https://linux22.com/image/1537296/%E5%A6%82%E4%BD%95%E5%9C%A8%20Excel%20%E4%B8%AD%E4%BD%BF%E7%94%A8%E4%B8%A4%E5%AF%B9%E5%8D%95%E5%85%83%E6%A0%BC%E8%BF%9B%E8%A1%8C%E6%8E%92%E5%BA%8F%EF%BC%9F.png)
我正在处理一个电子表格,其中有一些数据按以下格式组织:
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
,将此公式复制/拖动到表格行的末尾
然后使用此行对表格数据进行排序:
排序表: