标签:Excel函数,SEQUENCE函数
SEQUENCE函数是Excel新的动态数组函数之一,当与其他函数结合时,会发挥很大的威力。
SEQUENCE函数的语法为:
=SEQUENCE(rows,[columns],[start],[step])
其中,参数rows指定行数;参数columns可选,指定列数;参数start可选,序列开始值,默认值是1;参数step可选,序列的步长,默认值是1。
你可以在Excel中输入:
=SEQUENCE(10)
公式中参数值10定义了行数,公式结果会溢出行,得到包含10个值的列,开始值为1,序列步长默认值为1,结果如下图1所示。
图1
除了使用第1个参数定义行数外,也可以添加列数,输入公式:
=SEQUENCE(10,3)
得到10行3列的序列数字,从左自右、自上而下,如下图2所示。
图2
如果想要以列的顺序填充序列,即填充数字先自上而下、再从左至右,则可以添加TRANSPOSE函数:
=TRANSPOSE(SEQUENCE(10,3))
结果如下图3所示。
图3
如果将SEQUENCE函数和Excel的日期函数结合使用,则可以容易地生成日期序列。例如,从今天的日期开始,制作一个10个日期的序列。
=SEQUENCE(10,,TODAY())
结果如下图4所示。
图4
将单元格格式设置为日期,结果如下图5所示。
图5
或者,可以生成每个月的第一天的日期组成的序列日期。例如,下面的公式:
=DATE(2023,SEQUENCE(18),1)
结果如下图6所示。
图6
当然,也可以横向生成表头,使用公式:
=TEXT(DATE(2023,SEQUENCE(1,MONTH(TODAY())),1),"[$-804]mmmm")
将生成一系列月份名称,如下图7所示。
图7
还有一个非常有用的技巧是对表中的值进行排序。让我们首先生成一个介于100和10000之间的5 x 5随机值表:
=RANDARRAY(5,5,100,10000,TRUE)
结果如下图8所示。
图8
现在可以使用SEQUENCE函数对这些值进行升序或降序排序。首先,创建一个长度与值数量相同的序列,示例子中为25。
=SEQUENCE(COUNT(A1#))
结果如下图9所示。
图9
接下来,组合LARGE函数来创建公式:
=LARGE(A1#,SEQUENCE(COUNT(A1#)))
结果如下图10所示。
图10
下面是另一个例子。原始数据通常以列形式出现,然后使用不同的数据透视转换将其展开。看看如何从单个列中展开数据,原始数据如下图11所示。
图11
可以看出,有4行记录,每行有4列,可使用公式:
=INDEX(A2:A17,SEQUENCE(4,4))
结果如下图12所示。
图12
比起原来使用数组公式来转换,真是太容易了!
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有