Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2349|回复: 5

[已解决]如何根据单元格的数值来自动填充指定行数? 谢谢!

[复制链接]
发表于 2016-8-15 19:20 | 显示全部楼层 |阅读模式

A 列 B列    C列
名称 数量 备注
A       2       A
B       3       A
C       2       B
                  B
                  B
                  C
                  C


club.excelhome.net/thread-408660-1-1.html 这个帖子中无法满足需求,输入出错



最佳答案
2016-8-15 19:42
  1. Sub test()
  2.     Dim i&, m&, n&, arr(1 To 10000, 1 To 1)
  3.     For i = 2 To Cells(2, 1).End(4).Row
  4.         For m = 1 To Cells(i, 2)
  5.             arr(n + 1, 1) = Cells(i, 1)
  6.             n = n + 1
  7.         Next
  8.     Next
  9.     [c2].Resize(n, 1) = arr
  10. End Sub
复制代码
发表于 2016-8-15 19:25 | 显示全部楼层
回复

使用道具 举报

发表于 2016-8-15 19:42 | 显示全部楼层    本楼为最佳答案   
  1. Sub test()
  2.     Dim i&, m&, n&, arr(1 To 10000, 1 To 1)
  3.     For i = 2 To Cells(2, 1).End(4).Row
  4.         For m = 1 To Cells(i, 2)
  5.             arr(n + 1, 1) = Cells(i, 1)
  6.             n = n + 1
  7.         Next
  8.     Next
  9.     [c2].Resize(n, 1) = arr
  10. End Sub
复制代码
回复

使用道具 举报

发表于 2016-8-15 19:59 | 显示全部楼层
函数解法
  1. =INDEX(A$2:A$4,MATCH(1=1,ROW(A1)<=SUBTOTAL(9,OFFSET(B$2,,,{1,2,3},)),))
复制代码
回复

使用道具 举报

 楼主| 发表于 2016-8-16 08:08 | 显示全部楼层
望帝春心 发表于 2016-8-15 19:59
函数解法

非常感谢,但是我发现,如果是多个,这个公式就会报错啊
QZ.rar (7.18 KB, 下载次数: 6)
回复

使用道具 举报

发表于 2016-8-16 08:35 | 显示全部楼层
tomhome 发表于 2016-8-16 08:08
非常感谢,但是我发现,如果是多个,这个公式就会报错啊

要根据实际情况调整参数,数组
  1. =INDEX(A$2:A$8,MATCH(1=1,ROW(A1)<=SUBTOTAL(9,OFFSET(B$2,,,ROW($1:$7),)),))
复制代码
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-20 13:35 , Processed in 0.387922 second(s), 12 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表