excel 根据第一列(个数)第二列(字母) 生成序列

第一列 第二列
3 A
2 B
4 C
生成在第三列(请大家给个公式)
A
A
A
B
B
C
C
C
C

说明:意思是生成 3全A ,2个B,4个C

=INDEX(B:B,SMALL(IF($A$1:$A$3>=COLUMN(A:G),ROW($A$1:$A$3),4^8),ROW(B1)))

三键

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-05-27

用VBA做吧,代码如下

Sub 填充()
r = 1
r_2 = 1
num = Cells(r, 1)
Do While num <> ""
    For i = 1 To num
        Cells(r_2, 3) = Cells(r, 2)
        r_2 = r_2 + 1
    Next i
    r = r + 1
    num = Cells(r, 1)
Loop
End Sub

用法:打开Excel表,按Alt+F11打开编辑器,选择:插入——模块,将以上代码复制到新插入的模块中,关闭编辑器回到Excel界面,选择:宏——运行宏,运行名字为“填充”的宏即可

 

注:由于用到了宏,需要将宏安全性改为中或低,否则无法正常运行,附件中文件是写好代码的供参考

本回答被网友采纳
第2个回答  2014-05-27

公式不好办,建议用VBA来实现,很容易。

在表格中按ALT+F11调出VBA窗口,“插入”一个模块,把下面代码粘贴进去执行即可实现效果。

Sub abc()
x = Range("a65536").End(xlUp).Row
s = 1
For i = 1 To x
    For j = 1 To Cells(i, 1)
        Cells(s, 3) = Cells(i, 2)
        s = s + 1
    Next
Next
End Sub

第3个回答  2014-05-27
你的数据有几行?多了应该很难用公式做
相似回答