我得到一个 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 为与美国银行相连的一排