Excel把单元格数据重复指定次数显示在另外一列
1、首先,看一下原始数据。A2:A5是要重复的文本,B列对应的是指定重复的次数。要求从C2开始输出。

2、双击C2单元格,输入公式:
=INDEX(A$1:A$6,SMALL(IF(B$2:B$5>=COLUMN(A1:Z1),ROW(A$2:A$5),6),ROW(A1)))&""
输入完毕后,左手按住Ctrl和Shift,右手按下回车键运行公式。

3、将C2单元格的数据下拉,C列就会根据B列指定的次数重复显示A列内容。

1、首先,选中C2:AB5单元格区域,输入公式:
=IF(B$2:B$5>=COLUMN(A1:Z1),ROW(A$2:A$5),6)
输入完毕后,左手按住Ctrl和Shift,右手按下回车键运行公式。运行完毕后可以发现如果B列的次数小于等于COLUMN(A1:Z1)就返回B列的次数单元格的行号,否则返回6。比如说B2单元格的行号值出现2次,B3单元格的行号值出现了3次,以此类推。

2、我们在B列后插入一列,输入公式:
=SMALL($D$2:$AC$5,ROW(A1)),下拉公式,刚才的行号数组就从小到大输出了。

3、然后,外层嵌套INDEX函数:
=INDEX(A$1:A$6,SMALL($D$2:$AC$5,ROW(A1)))
这样,就从A$1:A$6中根据B列指定次数将A2:A5的数据重复显示了。注意,INDEX第一参数选择的是A$1:A$6,之所以选择A1是因为刚才返回的是行号,不是A2:A5中的顺序值。比如说A2的值行号是2,但是在A2:A5中顺序号是1。之所以选A6,是为了下拉公式时超过B列次数总和时显示空。现在显示0的单元格其实是引用的A6单元格。

4、将刚才的公式修改一下,变成:
=INDEX(A$1:A$6,SMALL($D$2:$AC$5,ROW(A1)))&""
这样引用的A6单元格就变成了“空”显示。
