如何在 Excel 中使用两对单元格进行排序?

如何在 Excel 中使用两对单元格进行排序?

我正在处理一个电子表格,其中有一些数据按以下格式组织:

    Row 1: [Train Origin] 
    Row 2: [Train Destination] 
    Row 3: [Train Code]

这些项目按列排列。

我需要按成对的方式对这些信息进行排序,即按一个目的地和一个出发地进行排序,例如:列出的第一列火车将从目的地 A 开往目的地 B,然后从 B 开往 A,然后从 C 开往 D,再从 D 开往 C,等等。然后我将按火车代码的字母顺序进行排序。如何使用本机函数或可能的 VBA 来完成此操作?我尝试使用本机排序函数,但没有成功。

以下是 Excel 当前排序方式的屏幕截图:

在此处输入图片描述

我希望如此:

在此处输入图片描述

提前致谢。

答案1

最简单的解决方案是创建一个具有适当键的辅助行,然后根据该键对表进行排序。

顶级顺序是一对Origin/DestinationDestination/Origin。构造组标识符前缀的一种方法是连接该对,将字典顺序较小的一个放在前面,并使用表中未使用的分隔符,例如:和 都Paris/SPISPI/Paris有一个前缀Paris@SPI。要创建键,请使用分隔符将此前缀与所有三个字段连接起来。

例如,假设表位于 中A1:Z3,则输入

=if(A1<A2,A1&"@"&A2,A2&"@"&A1)&"@"&A1&"@"&A2&"@"&A3

A4,将此公式复制/拖动到表格行的末尾

在此处输入图片描述

然后使用此行对表格数据进行排序:

在此处输入图片描述

排序表:

在此处输入图片描述

相关内容