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

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

ID:55166505

大小:25.00 KB

页数:4页

时间:2020-04-30

在Excel中按指定的重复次数填充数据到一列.doc_第1页
在Excel中按指定的重复次数填充数据到一列.doc_第2页
在Excel中按指定的重复次数填充数据到一列.doc_第3页
在Excel中按指定的重复次数填充数据到一列.doc_第4页
资源描述:

《在Excel中按指定的重复次数填充数据到一列.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、在Excel中按指定的重复次数填充数据到一列  在工作中有时需要将Excel某列中的数据按指定的次数依次重复填充到另一列。例如在下图的示例中,要将A列的编号按B列对应次数重复填充到D列,即首先将第一个编号“WOY756”在D列中填充2次,接着将第二个编号“QLG752”填充1次,将第三个编号“RWR880”填充5次,……。可用数组公式或VBA来实现这样的填充在D2单元格输入下面的数组公式后按Ctrl+Shift+Enter结束,然后拖动填充柄向下填充公式,直到最后一个编号按指定的次数全部出现为止。公式1:=OFFSET(A$

2、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)),R

3、OW(A1)))说明:“IF($B$2:$B$21>=COLUMN($A:$J),ROW($B$2:$B$21))”产生一个20行10列由FALSE和数字组成的数组,其中的数字为各“编号”对应的行号,且各数字的数量与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

4、,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

5、(A16)-1”返回15,数组中小于等于15的最大值为13,13处于数组中的第6个位置,MATCH函数返回6,公式返回A2:A21区域中的第6行数据,即编号“JGN347”。如果数据量较大,用下面的VBA代码较为快捷。按Alt+F11,打开VBA编辑器,在代码窗口中粘贴下列代码并运行即可。Sub按指定次数重复数据()DimRng,Arr()DimiAsInteger,jAsInteger,kAsIntegerDimLastRowAsInteger,TotalAsIntegerLastRow=[A65536].End(xlUp

6、).RowTotal=(Range(“B2:B”&LastRow))Rng=Range(“A1:B”&LastRow)ReDimArr(1ToTotal,1To1)Fori=2ToUBound(Rng,1)Forj=1ToRng(i,2)k=k+1Arr(k,1)=Rng(i,1)NextNextRange(“D2”).Resize(k,1).Value=ArrEndSub

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。