产品文档 / Excel催化剂
第36波-新增序列函数用于生成规律性的循环重复或间隔序列
啃过Excel函数的表哥表姐们,一定对函数的嵌套、数组公式等高级的应用有很深的体会,威力是大,但也烧死不少脑细胞,不少人就在这样的绕函数中光荣地牺牲了,走向从入门到放弃。 Excel催化剂的创立,初衷就是为了让普通用户,借助类似化学催化剂的作用,让平常难以有反应的常规使用,能够瞬间被点燃,借力完成过
啃过Excel函数的表哥表姐们,一定对函数的嵌套、数组公式等高级的应用有很深的体会,威力是大,但也烧死不少脑细胞,不少人就在这样的绕函数中光荣地牺牲了,走向从入门到放弃。
Excel催化剂的创立,初衷就是为了让普通用户,借助类似化学催化剂的作用,让平常难以有反应的常规使用,能够瞬间被点燃,借力完成过去很难完成的事情。
此篇给大家介绍一些过往用函数潜逃较为复杂完成的事情,如今仅通过简单的一个自定义函数即可完成。
使用场景
有时需要生成一些有规律的序列如123456,13579等等,通过Excel原生的向下填充功能,可以生成等差等比或自定义序列的内容。但没法再生成其他有循环重复结构的数据。
如123451234512345或111222333444555这样的数据结构。
传统的函数实现
间隔循环序列
间隔循环序列,公式为=MOD(ROW(A1)-1,3)+1,已经涉及到好多的知识点,有时想写出来还写老半天写不准,当然好多教材不亦乐乎地大谈特谈这些技巧。
此函数实现的效果其实也有很多不足之处
- 只能从开始1开始,
- 步长只能是1,
- 需要多少次循环只能通过公式拖动多少个单元格决定。

重复循环序列
重复循环序列,公式为==ROUNDUP(ROW(A1)/3,0)
同样的不足之处也类似上面的间隔循环序列的函数

本人觉得最大的问题是对普通用户来说,理解和掌握它并非易事
Excel催化剂自定义函数实现
间隔循环整数
用于生成类似123451234512345这样的数据结构的数据
通过5个参数一目了然地进行控制

不止于常规的从1开始,升序排列,可以在5个参数上灵活调整,得到想要的效果
最后一个参数RepeatTimes还可以省略不输入,此时将以当前数据区域的结尾行为终点填充,可能不是一个连续的循环片段。见下图的最右边函数公式

同样地有扩展性的应用为列字母的序列,从A-ZAA-ZZ的序列。

重复循环整数
同样地另一场景是重复循环,生成111222333444555这样的数据结构
5个参数的输入和上述的间隔循环类似

最后一个参数LastIndex还可以省略不输入,此时将以当前数据区域的结尾行为终点填充,可能不是一个连续的循环片段。见下图的最右边函数公式

同样地可以推广至列字母的使用

重复选定区域
重复选定区域,某些场景也需要使用,快速生成多份数据且调整数据结构(多列变为一列)。

具体的多种灵活处理效果如下图:

总结
通过Excel催化剂的自定义函数的封装,将原来清晰的业务逻辑转化为每个函数的指标的参数配置,使原生Excel函数复杂嵌套才能实现的效果,在自定义函数里,非常友好地让用户自行配置各参数即可完成。
符合函数的使用的最原始的方式:输入必要的参数,经过函数的黑箱处理后即可生成所需的结果。
Excel催化剂一直倡导,不是所有人都需要完成掌握Excel的所有知识点和复杂灵活的各种高阶使用技巧。
在Excel成为一个大平台的视野下,任何有逻辑关系可以实现的场景都可以通过简单的二次开发封装,给到用户手里是简单的逻辑参数录入即可。
这时用户所需要的知识只需理解和掌握Excel函数的基本定义和操作即可,也就是说掌握了IF和SUM函数的能力,就可以大派用场,做出非常多的有特定逻辑下的数据结果来。