Excel高級函數(shù)Sequence用不了?用普通數(shù)組公式代替實現(xiàn)
Excel高級函數(shù)Sequence用不了?試試用普通數(shù)組公式代替生成一維和二維序列
Microsoft 365支持動態(tài)數(shù)組功能,同時發(fā)布了許多動態(tài)數(shù)組函數(shù),例如:sequence,filter以及unique等等。有些函數(shù)wps最新版已經(jīng)支持,你可以免費使用。
但是有些同學因為沒法更新軟件,但又想實現(xiàn)新函數(shù)的功能,為此,以溪整理了這些新函數(shù)的代替版,希望對你有幫助。
「如果有用,記得關(guān)注分享和收藏」
Sequence序列函數(shù)使用語法
sequence函數(shù)主要用于生成一組等差數(shù)列的序列數(shù)組。
例如,生成10000個序號,使用下面的公式即可。
=sequence(10000)
函數(shù)語法如下=SEQUENCE(行,[列],[開始數(shù)],[增量])
Sequence函數(shù)案例與替代方案
Sequence本質(zhì)上是一個「等差數(shù)列生成器」,因此使用等差數(shù)列通項公式,搭配數(shù)組擴展特性,就可以使用普通數(shù)組公式實現(xiàn)Sequence函數(shù)效果。
生成1行3列,開始于2,增量為5的序列
sequence函數(shù)法:
=SEQUENCE(1,3,2,5)
普通數(shù)組公式法:
=2+(TRANSPOSE(ROW(1:3))-1)*5
數(shù)組公式使用方法
需提前選中1行3列數(shù)組區(qū)域
再輸入公式
最后需要按數(shù)組確認鍵CTRL+SHIFT+回車 確認公式
效果展示
由于是1行3列,我們使用row(1:3),可以生成1列3行的數(shù)組,然后使用transpose函數(shù),將其轉(zhuǎn)置為1行3列。
不使用column函數(shù)直接生成1行3列,是由于如果列太多,懶得寫字母,所以其實TRANSPOSE(ROW(1:3))可以寫成column(A:C)
可以看到普通數(shù)組公式法,其實就是等差數(shù)列的通項式。
=2+(TRANSPOSE(ROW(1:3))-1)*3
其中a1就是函數(shù)參數(shù)中的開始項,d就是增量(公差),而n就是項次{1,2,3...},也就是TRANSPOSE(ROW(1:3))。
因此如果你需要1行5列,只需要把項次這里的row(1:3)改成row(1:5)即可生成5行。
生成2行3列,開始于5,增量為10的序列
sequence函數(shù)除了生成一維數(shù)組序列,也支持生成二維數(shù)組序列。且只需要更改行列數(shù)字即可。
sequence函數(shù)法:
=SEQUENCE(2,3,5,10)
普通數(shù)組公式法:
=5+(TRANSPOSE(ROW(1:3))-1)*10+0+(ROW(1:2)-1)*3*10
二維數(shù)組理解起來,稍微復雜一些,涉及到「數(shù)組的擴展性」。
舉個例子來說,兩個數(shù)組之間進行運算,最終得到的數(shù)組行列大小,取自這兩個數(shù)組的最大行和最大列。
因此我們要形成2行3列的二維數(shù)組,就可以通過1行3列數(shù)組與2行1列行兩個一維數(shù)組進行計算得來。
普通數(shù)組公式法的理解,可以分為兩步:
首先生成1行3列的,首項為5,公差為10的等差序列,對應公式5+(TRANSPOSE(ROW(1:3))-1)*10。
其次生成2行1列的,首項為0,公差為最大列數(shù)×1行3列的公差,也就是3×10,對應公式0+(ROW(1:2)-1)*3*10。
最后將兩個數(shù)組相加,即可得到需要的序列數(shù)組。
公式為便于理解,未做簡化,實際應用中,可以根據(jù)運算式做簡化。
以上是Sequence函數(shù)功能使用普通數(shù)組函數(shù)實現(xiàn)方法,有更多問題可留言討論或在以溪同學號眾工回復「群」,加入Excel討論。