有时候我们需要按指定的次数来重复数据,通常比较简单的方法就是通过添加辅助列序号,然后数据要重复多少次,序号就复制向下粘贴多少次,这样只适合数据都重复一样的次数,如果是以下数据,重复的次数都不一样,我们就可以通过公式来解决

先用公式把数据对应的行号重复次数显示出来,数组公式需要按CTRL+SHIFT+ENTER
公式:=SMALL(IF(COLUMN(A:Z)<=$B$2:$B$4,ROW($2:$4),4^8),ROW(A1))

公式解析:
先看以下的判断结果,为了方便截图显示,COLUMN我只从A-F,就不从A-Z了,只要给到的列号足够大,比重复次数里的最大数字大即可,下面是不是第一行返回三个TRUE,第二行返回4个TRUE,第三行返回5个TRUE

然后加IF去判断,让它返回TRUE所对应的行号,再用SMALL函数从小到大把里面的行号逐一取出

此时我们只需要套个INDEX,就可以按行号来提取A列姓名,数组公式需要按CTRL+SHIFT+ENTER
公式:=INDEX(A:A,SMALL(IF(COLUMN(A:Z)<=$B$2:$B$4,ROW($2:$4),4^8),ROW(A1)))&””

上面的4^8=65536,意思是IF判断FALSE的都返回这个数字,A列的第65536行都是空单元格,提取到都会返回0,所以后面&””,转为空
本文内容由互联网用户自发贡献,该文观点仅代表作者本人。号仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 3252784850@qq.com 举报,一经查实,本站将于三个工作日内删除本文链接:https://www.cawinemall.com/ban/5827.html