![根据 Excel 中的列值将行拆分到不同的工作表中](https://linux22.com/image/1567576/%E6%A0%B9%E6%8D%AE%20Excel%20%E4%B8%AD%E7%9A%84%E5%88%97%E5%80%BC%E5%B0%86%E8%A1%8C%E6%8B%86%E5%88%86%E5%88%B0%E4%B8%8D%E5%90%8C%E7%9A%84%E5%B7%A5%E4%BD%9C%E8%A1%A8%E4%B8%AD.png)
+-----+----------+----------+
| a | b | c |
+-----+----------+----------+
| 101 | 12:13:00 | employee |
| 102 | 12:15:00 | customer |
| 103 | 12:20:00 | employee |
| 102 | 12:16:00 | customer |
| 103 | 18:15:00 | employee |
| 101 | 18:18:00 | customer |
+-----+----------+----------+
如何根据列值自动将行分成不同的工作表
最终得到三张表:
列 a 值 101
+-----+----------+----------+
| a | b | c |
+-----+----------+----------+
| 101 | 12:13:00 | employee |
| 101 | 18:18:00 | customer |
+-----+----------+----------+
列 a 值 102
+-----+----------+----------+
| a | b | c |
+-----+----------+----------+
| 102 | 12:15:00 | customer |
| 102 | 12:16:00 | customer |
+-----+----------+----------+
列 a 值 103
+-----+----------+----------+
| a | b | c |
+-----+----------+----------+
| 103 | 12:20:00 | employee |
| 103 | 18:15:00 | employee |
+-----+----------+----------+
答案1
怎么运行的:
您需要在 Sheet1 中创建一些辅助列。
写下以下公式并填写:
D2 ==IF($A2=101,1+MAX($D$1:D1),"")
E2 ==IF($A2=102,1+MAX($E$1:E1),"")
F2 ==IF($A2=103,1+MAX($F$1:F1),"")
将以下公式写入Sheet2 的单元格 A2并将此单元格横向和纵向复制:
=IFERROR(INDEX(Sheet1!A:A,MATCH(ROWS($1:1),Sheet1!$D:$D,0)),"")
您将获取 Sheet 1 中 ID 为 101 的所有记录。
笔记,
- 使用上面的公式ID 102 & 103在Sheet3 和 Sheet4稍作修改。
- 为了ID 102
Sheet1!$D:$D
用Sheet1!$E:$E
&替换ID 103 在Sheet1!$F:$F
公式中。
根据需要调整公式中的单元格引用。