我有一张表,Invoice
其中有一个字段包含值和日期。每条记录可以有多张发票。如果是这样,发票会以换行符分隔列出在单个细胞内。 一个例子如下所示。
PO # PO Date PO Amt Invoice
1 05/19/15 100 100 06/01/15
500 07/1/15
1000 08/1/15
2 05/20/15 101 100 06/01/15
500 07/1/15
1000 08/1/15
3 05/21/15 102 100 06/01/15
500 07/1/15
1000 08/1/15
我想拆分列出多张发票的这些记录。我想为每张发票创建新行。新行的其他字段应具有相同的数据。完成此操作后,示例数据应如下所示:
PO # PO Date PO Amt Invoice
1 05/19/15 100 100 06/01/15
1 05/19/15 100 500 07/1/15
1 05/19/15 100 1000 08/1/15
2 05/20/15 101 100 06/01/15
2 05/20/15 101 500 07/1/15
2 05/20/15 101 1000 08/1/15
3 05/21/15 102 100 06/01/15
3 05/21/15 102 500 07/1/15
3 05/21/15 102 1000 08/1/15
手动执行此操作将花费很长时间。如何在 Excel 中以这种方式拆分这些记录?
答案1
我还是想尝试一下 :D
- 这
A:D
是你的数据 - 我认为
E:Z
是空的
=SUBSTITUTE(D2,"
",";")
(Alt+Enter 在单元格内换行)
现在我们将其拉到表格末尾。
突出显示列E
- 复制
- 粘贴(仅值)
- 在“数据”选项卡中使用“文本到列”-> 分隔 ->
取消选中除分号之外的所有内容 -> 完成
我们的表格现在应该是这样的:
现在到了有趣的部分:公式:D
我将从M2
(如果需要则调整) 开始
=IFERROR(INDEX($E$2:$I$999,(ROW()-MOD(ROW()-2,5)-2)/5+1,MOD(ROW()-2,5)+1),"")
并根据需要将其拉下...注意:$E$2:$I$999
根据需要进行调整...但不要忘记$
现在J2
:
=IFERROR(INDEX(A$2:A$999,(ROW()-MOD(ROW()-2,5)-2)/5+1),"") (note: NO $ in front of the A!)
现在魔术来了:选择列M
并点击过滤器->取消选中0
并empty
现在选择整个列表并复制 - >将其粘贴到另一张表(仅与上次一样的值)
现在复制/粘贴标题,您就完成了:)