我的 excel 表中有 n 张发票,例如,的 A 列Sheet1
有 10 万条记录。现在我想用;
作为分隔符将它们连接起来。假设x = 300
(x
可能根据需求而变化),我想要将前 300 条记录(即 A1-A300)作为 1 组,接下来的 300 条记录作为另一组,依此类推。因此,如果Column A
有发票并且有Column B
,我可以使用运算符来执行此操作,如下所示:;
Column C
&
=A2&B2
=C2&A3&B3
=C3&A4&B4
但是这种方法的问题是,我必须在每次x
记录后手动中断。
我想出了另一个使用TEXTJOIN
函数的公式,即:=TEXTJOIN(";",FALSE,A1:A300)
。这个公式很好用,但问题是,如果我将其拖到下一行,公式将从 A2 开始。因此,在单元格中C2
公式将是=TEXTJOIN(";",FALSE,A2:A301)
,在单元格中将C3
是,=TEXTJOIN(";",FALSE,A3:A302)
依此类推... 但我希望在单元格中是C2
这样的:=TEXTJOIN(";",FALSE,A301:A600)
。
注意:x 不是固定的。x 可以根据用户要求为任意数字。另外我不想录制宏。
有人能帮我解决这个问题吗?如果我的问题不清楚,并且你想了解清楚,请告诉我。提前谢谢。
答案1
您可以使用 TEXTJOIN 和 INDIRECT 来执行此操作。
假设您的 X 值在 E4 中,您可以在 B1 中使用此公式并向下拖动。
=TEXTJOIN(";",FALSE,INDIRECT("A"&ROW()*$E$4-$E$4+1&":A"&ROW()*$E$4))