Excel:排序时如何将多行视为一行?

Excel:排序时如何将多行视为一行?

我得到一个 XLS 文件作为数据库报告。该文件的格式如下:

   | Customer | Name | ... | Orders
 1 |     6    | ...  | ... | 1234
 2 |          |      |     | 4567
 3 |          |      |     | 8910
 4 |     3    | ...  | ... | 3210
 5 |          |      |     | 8765
 6 |     1    | ...  | ... | 1000
 7 |          |      |     | 1001

我需要对只“填充”在“记录”第一行(此处:第 1-3 行、第 4+5 行、第 6+7 行)的列进行排序,例如本例中的“客户”。有没有一种方法(无需回退到 VBA)可以在对形成“记录”的行进行排序时将它们保持在一起。我知道,这是在滥用 Excel,但我别无选择。

按“客户”排序后的预期输出为:

   | Customer | Name | ... | Orders
 1 |     1    | ...  | ... | 1000
 2 |          |      |     | 1001
 3 |     3    | ...  | ... | 3210
 4 |          |      |     | 8765
 5 |     6    | ...  | ... | 1234
 6 |          |      |     | 4567
 7 |          |      |     | 8910

答案1

您可以创建一个额外的列来填补空白并将其用于排序目的 - 假设客户在 A 列中,新列在 E 列中,您可以在 E2 中输入:

=IF(A2="",E1,A2)

并将公式向下拖动。

每次更改数据时,您需要确保将公式复制到包含数据的范围的底部。

答案2

我遇到了同样的问题。为了解决这个问题,我创建了一个四个字符宽的排序列。通过这样做,我能够按字母顺序对成对的行进行排序。例如:

  • 苹果电脑版 APP1
  • APP2 适用于与 Apple Computer 相连的行
  • APP3 为与 Apple Computer 等相连的另一行
  • BOA1 代表美国银行
  • BOA2 为与美国银行相连的一排

相关内容