分享

【新函数】按指定次数重复内容,花样百出!

 刘卓学EXCEL 2022-05-02 发布于安徽

你好,我是刘卓。欢迎来到我的公号,excel函数解析。工作中有时会遇到按指定次数重复内容的问题,今天就来分享下如何用365新函数解决这个问题。

-01-

案例分享


下图左表是数据源,要求根据B列的次数重复A列的部门,结果如E列所示。


有了365新函数,这个问题就非常简单了。下面就分享几种不同格式的结果。

1.常规输出结果

公式如下图所示,主要用到循环迭代函数reduce,数组合并函数vstack和生成序号函数sequence。

下面说下这个公式的运行过程:

reduce的初始值是A2的部门,要循环的数组是A3:A6的部门。

第一次循环的是"财务部",先用vlookup查找"财务部"的次数,结果为2;然后用sequence将2扩展为{1;2}再用if将{1;2}返回对应的{"财务部";"财务部"}。通过一系列函数的运算,就实现了扩展的效果。

最后还要执行一个迭代的过程,用vstack将初始值"部门"{"财务部";"财务部"}纵向合并为{"部门";"财务部";"财务部"}。这样第一次循环就执行完成了,它的结果{"部门";"财务部";"财务部"}作为下一次循环的初始值。

第二次循环的是"生产部",还是重复执行上面一系列的过程。先用vlookup查找"生产部"的次数,结果为1;然后用sequence将1扩展为{1};再用if将{1}返回对应的{"生产部"}

扩展完成后,用vstack将第一次循环的结果{"部门";"财务部";"财务部"}{"生产部"}纵向合并为{"部门";"财务部";"财务部";"生产部"},作为第二次循环的结果,也是下一次循环的初始值

后面的循环和前面的过程是一样的,先把对应部门的数据扩展,然后用上一次的结果和扩展后的数据合并。重复这个过程,一直把A列部门循环迭代完为止。

2.给部门加编号


3.各部门间插入空行

4.各部门间插入空行并编号

PS:365新函数功能太好用了,很多难的问题被优化的简单了,而且更接近编程式语言了,可以像编程一样工作。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多