当前位置:首页 > 日记 > 正文

在Excel中怎么按指定的重复次数填充数据到一列

在Excel中怎么按指定的重复次数填充数据到一列

  在工作中有时需要将Excel某列中的数据按指定的次数依次重复填充到另一列。可用数组公式或VBA来实现这样的填充。以下是小编为您带来的关于在Excel中按指定的重复次数填充数据到一列,希望对您有所帮助。

  在Excel中按指定的重复次数填充数据到一列

  例如在下图的示例中,要将A列的编号 按B列对应次数重复填充到D列,即首先将第一个编号“WOY756”在D列中填充2次,接着将第二个编号“QLG752”填充1次,将第三个编号 “RWR880”填充5次,……。

  可用数组公式或VBA来实现这样的填充,在D2单元格输入下面的数组公式后按Ctrl+Shift+Enter结束(下同),然后拖动填充柄向下填充公式,直到最后一个编号按指定的次数全部出现为止。

  公式1:

  =OFFSET(A$1,MIN(IF(COUNTIF($D$1:D1,A$2:A$21)

  说明:COUNTIF函数统计公式所在单元格以上区域中所产生的各个“编号”数量,将其与B列对应次数进行对比,如果未达到B列对应次数,则返回“编号” 相对A1单元格的偏移量,否则返回“FALSE”,这将得到一个包含“FALSE”和偏移量的数组。MIN函数取得最小值,即“编号”的偏移量,最后用 OFFSET函数返回“编号”。

  公式2:

  =INDEX(A$1:A$21,SMALL(IF($B$2:$B$21>=COLUMN($A:$J),ROW($B$2:$B$21)),ROW(A1)))

  说明:“IF($B$2:$B$21>=COLUMN($A:$J),ROW($B$2:$B$21))”产生一个20行10列由FALSE和数字组成的数组(本例A列共 有20个数据,最大重复次数为10),其中的数字为各“编号”对应的行号,且各数字的数量与B列的重复次数相同。如16行“BXQ763”对应的“重复次 数”为3,数组中即包含3个“16”。“COLUMN($A:$J)”需根据B列的最大值进行修改,例如“重复次数”中最大值为26,则改为 “COLUMN($A:$Z)”。

  公式3:

  =INDEX(A$2:A$21,MATCH(ROW(A1)-1,SUBTOTAL(9,OFFSET(B$1,,,ROW($1:$21))),1))

  说明:MATCH函数的第二个参数“SUBTOTAL(9,OFFSET(B$1,,,ROW($1:$21)))”,在本例中产生一个对B列数字进行累 加的内存数组“{0;2;3;8;10;13;22;29;31;37;44;46;56;59;69;72;75;85;94;97;99}”,第三个 参数为“1”,MATCH函数会查找小于或等于第一个参数的最大值,并返回其在数组中的相对位置,即A2:A21区域中的相对行号。例如对于D17单元 格,MATCH函数的第一个参数“ROW(A16)-1”返回15,数组中小于等于15的最大值为13,13处于数组中的第6个位置,MATCH函数返回 6,公式返回A2:A21区域中的第6行数据,即编号“JGN347”。

  如果数据量较大,用下面的VBA代码较为快捷。按Alt+F11,打开VBA编辑器,在代码窗口中粘贴下列代码并运行即可。

  Sub 按指定次数重复数据()

  Dim Rng, Arr()

  Dim i As Integer, j As Integer, k As Integer

  Dim LastRow As Integer, Total As Integer

  LastRow = [A65536].End(xlUp).Row

  Total = Application.WorksheetFunction.Sum(Range("B2:B" & LastRow))

  Rng = Range("A1:B" & LastRow)

  ReDim Arr(1 To Total, 1 To 1)

  For i = 2 To UBound(Rng, 1)

  For j = 1 To Rng(i, 2)

  k = k + 1

  Arr(k, 1) = Rng(i, 1)

  Next

  Next

  Range("D2").Resize(k, 1).Value = Arr

  End Sub
 

猜你喜欢:

1.Excel中实现循环的操作方法

2.Excel中进行自动递增填充数列的操作方法

3.excel怎样利用函数查询重复次数

4.Excel表格中正确填充序列号的操作方法

5.Excel中进行统计出现次数的操作方法

相关文章

如何查找微信已添加的公众号?

如何查找微信已添加的公众号?

公众号,电脑软件,微信已,  微信公众号关注多了,总是会自动推送消息,不仅耗费你的流量,还浪费电量,有的时候会很烦人。今天,小编将告诉大家如何查找微信已添加的公众号并取消关注的方法,希望能够帮助到大家。如何查找微信已添加的公众号  1、…

如何在wps设置表格属性

如何在wps设置表格属性

属性设置,方法,属性,设置,表格,  在word文档中我们有时候要设定表格的大小,那么怎么准确的调整word文档中表格的属性?下面小编马上介绍wps设置表格属性的方法,希望能帮到大家。wps表格属性设置的方法wps表格属性设置的步骤1:打开word2003文…

excel使用链接公式的教程excel链接

excel使用链接公式的教程excel链接

链接,教程,公式,电脑软件,excel,  Excel中经常需要用到公式进行链接数据,链接公式具体该如何使用呢?下面是小编带来的关于excel使用链接公式的教程,希望阅读过后对你有所启发!excel使用链接公式的教程链接公式使用步骤1:以下面的例子来说明,…

wps怎么制作文件盒标签

wps怎么制作文件盒标签

文件,标签,方法,电脑软件,wps,  我们经常使用文件盒侧面原有标签,手写文字进行标记这样显得杂乱,如果按照统一的格式打印就好看多了,那么要怎么做呢?下面小编马上就告诉大家wps制作文件盒标签的方法。wps制作文件盒标签的方法wps制作文件盒…

excel利用公式审核研究公式原理

excel利用公式审核研究公式原理

审核,公式,原理,电脑软件,excel,  在Excel中经常需要用到公式进行计算,但却不知道其公式的计算原理究竟是什么,而Excel中的公式审核其实可以做到帮助用户研究公式原理,具体该如何利用公式审核研究公式原理呢?接下来是小编为大家带来的excel…

ppt怎么让一张一张的显示ppt让一张

ppt怎么让一张一张的显示ppt让一张

方法,显示,动画,图片,多张,  powerpoint2010中,如果想让图片一张一张的飞进我们的视野,那么就要用动画来实现,下面小编教你怎么让图片一张一张显示吧。希望对你有帮助!ppt中让图片一张一张的显示的方法打开powerpoint2010,新建幻灯片,如下图所…

excel怎样限制输入的内容excel限制

excel怎样限制输入的内容excel限制

限制输入,方法,内容,电脑软件,excel,  在excel的使用中,我们有时候需要对一些材料或者人员进行分类,而分类的类型就只能是那几个,但是要怎么设置才能将选择的数量控制在那个范围内。小编整理了excel限制输入内容的方法,希望对你有帮助!excel限…

Excel2007表格边框怎么添加

Excel2007表格边框怎么添加

边框,方法,表格,颜色,电脑软件,  制作表格时,对于你十分喜欢的表格,你是否想把它们增加特殊性——给它们的边框加上颜色。要怎样做才能给Excel2007添加颜色呢?下面给大家分享Excel2007给表格边框添加颜色的方法吧。Excel2007给表…

Excel表格怎么进行隔行添加颜色

Excel表格怎么进行隔行添加颜色

隔行,颜色,表格,电脑软件,Excel,  对于办公的人来说,制作Excel表格已经是家常便饭,简单的电子表格已经不能满足人们的需求了,但是给表格添加颜色还只是很基础的一步,那么你能隔行快速的添加颜色吗?以下是小编为您带来的关于Excel隔行添加颜色…

PowerPoint如何制作眩目幻灯片的效

PowerPoint如何制作眩目幻灯片的效

眩目,幻灯片,效果,电脑软件,PowerPoint,  想使自己的幻灯片更加绚丽夺目,您可能会想到,制作幻灯片的时候,加入动画切换效果就OK了吗。以下是小编为您带来的关于PowerPoint制作眩目幻灯片效果,希望对您有所帮助。PowerPoint制作眩目幻灯片效果…

把文件名自动录入到excel表格的方

把文件名自动录入到excel表格的方

方法,文件名,表格,电脑软件,excel,  Excel如何操作才能把文件名自动录入到Excel表格中去呢?接下来是小编为大家带来的把文件名自动录入到excel表格的方法,供大家参考。把文件名自动录入到excel表格的方法:  文件名录入表格步骤1:点开始菜…

电脑qq微云在哪里打开怎么进入qq微

电脑qq微云在哪里打开怎么进入qq微

方法,电脑软件,qq,  腾讯公司为方便广大qq用户,推出了一款微云的功能,在哪里打开呢?下面是小编整理的电脑qq微云打开的方法,供您参考。电脑qq微云打开的方法首先我们登录qq,如图所示。按照图片输入账号以及密码,点击登录即可完成进入qq微云的步…