各位亲们,我是小潜潜,今天和大家说说按指定次数复制内容的技巧,先看数据吧:
这是一组模拟的产品标签,为了打印需要,要求将A列的标签按指定的次数进行复制。
最终效果如D列所示:
D2单元格输入以下数组公式,按Ctrl+Shift+回车,向下复制到出现空白为止:
=INDEX(A:A,SMALL(IF(B$2:B$6>=COLUMN(A:Z),ROW($2:$6),99),ROW(A1)))&""
使用数组公式适合数据量比较小的情况,如果数据量比较大,数组公式运行会非常缓慢。
按Alt+F11打开VBE界面。
【插入】→【模块】,输入以下代码:
Option Explicit
Sub 拆分()
Dim irow&, irowincrease&, sumnum
irowincrease = 2
For irow = 2 To 6
sumnum = sumnum + Cells(irow, 2)
Do
Cells(irowincrease, 4) = Cells(irow, 1)
irowincrease = irowincrease + 1
Loop Until irowincrease - 1 > sumnum
Next irow
End Sub
点击【运行】按钮,即可在工作表D列生成需要的结果。
VBA的方法快速便捷,但是需要有一定的VBA基础,对于多数人来说,密密麻麻的代码还基本等同于天书一般。
先看动画:
再简单说下步骤:
① C2单元格输入公式:
=SUM(B$2:B2)-ROW(A1)
向下拖动公式,至公式结果返回0为止。
② 以C列进行升序排序。
③ 选中A列定位空值,编辑栏输入:
=首个空值下面的单元格地址
按Ctrl+回车
④ 最后清除B:C列内容,设置格式。
三种方法,各有特点,你喜欢哪一种呢?
好了,今天的分享就是这些,祝小伙伴们一天好心情!
图文作者:小潜潜 老祝
长按下面二维码图片,点”识别图中二维码“然后再点关注,每天都会收到最新excel教程。
ExcelHome,微软技术社区联盟成员