本例介绍如何把单元格文本或其他数据重复指定的次数并显示在另外一列。

前期准备工作(包括相关工具或所使用的原料等)
Excel
操作步骤:
首先,看一下原始数据。A2:A5是要重复的文本,B列对应的是指定重复的次数。要求从C2开始输出。

双击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,右手按下回车键运行公式。

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

公式使用方法讲解:
首先,选中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次,以此类推。

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

然后,外层嵌套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单元格。

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

注意事项
如果您觉得此经验有用,可以点击本页面右上方的【大拇指】图案和【收藏按钮】或者右下方的【分享】按钮,也可以点击本注意事项下方的【收藏】按钮。
如需要了解更多内容,可以百度搜索“百度经验shaowu459”或到百度知道向我提问。
经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。作者声明:本教程系本人依照真实经历原创,未经许可,谢绝转载。- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
