天天看點

69 “動态數組”用法詳解(四) -數字數組函數

作者:古哥計劃

今天繼續分享動态數組專屬函數系列數字數組函數,SEQUENCE函數和RANDARRAY函數,其中SEQUENCE函數配合引用函數就是如虎添翼,在進行列引用的時候,可以實作不同列,不同行的變化效果。

69 “動态數組”用法詳解(四) -數字數組函數

SEQUENCE函數

SEQUENCE函數就是可在數組中生成一系列連續數字,例如,1、2、3、4。這些數組可以列方向,也可以是行方向,也可以多行多列方向。如分别錄入以下函數:

=SEQUENCE(10),生成垂直方向的10個數字數組;

=SEQUENCE(,5),生成水準方向的5個數字數組;

=SEQUENCE(3,5),生成3行5列的數字數組,也就是一個二維數組;

效果如下圖所示:

69 “動态數組”用法詳解(四) -數字數組函數

通過上圖,就可以大概判斷這個函數是用來做什麼的了,來看一下他的文法結構:

=SEQUENCE(行,[列],[開始數],[增量])

根據文法,可能看不出使用場景,我們通過案例來說明他的好處。

自動編号

想要編号的時候,不想填充公式,或者輕按兩下公式的時候,可以用生成水準方向的狀态來寫,如需要快速編号1到100,直接錄入=SEQUENCE(100),就可以傳回1到100的連續數字數組,排程中經常要排T+7的計劃,此時可以用這個函數配合TODAY函數,生成動态的T+7

錄入函數:

=SEQUENCE(,7,TODAY(),1),并設定為日期格式,如果是T+20,隻需要把7更改為20即可:

69 “動态數組”用法詳解(四) -數字數組函數

動态編号

有時候有些報表需要根據錄入内容來編号,沒有錄入的就不需要判斷,此時配合統計函數,就可以實作自動編号。錄入函數:

=SEQUENCE(COUNTA(B:B)-1)

原理就是用COUNTA統計B列的非空單元格,并減去标題點位1,得到自動編号的序列;

69 “動态數組”用法詳解(四) -數字數組函數

特殊編号

有時候需要傳回一些特殊編号的時候,配合其他函數可以生成一些規律的編号,這些編号配合引用函數可以變化出非常多的效果。

生成類似1234、1234、……的循環效果;

=MOD((SEQUENCE(E2))-1,E1)+1,生成以3為循環的100行的垂直數組

生成類似1111、1111、……的循環效果;

=INT((SEQUENCE(E2)-1)/E1+1)

可能看到這些東西,感覺沒什麼用,下面配合上引用函數的案例就非常好了解了;

69 “動态數組”用法詳解(四) -數字數組函數

綜合應用

在進行多工序排程的時候,生産計劃需要把工單分拆成多工序排程,也就是一行變多行,如一個零件有三個工序,分别是下料、數控1、數控2,此時當訂單下達的時候,隻有一行,如下圖,這時候就可以配合INDEX加上剛才生成的規律數字快速分解,實作一鍵分解:

分别錄入函數:

=MOD((SEQUENCE(E2))-1,E1)+1

=INDEX(L3:L4,INT((SEQUENCE(E2)-1)/E1+1))

=INDEX(M3:M4,INT((SEQUENCE(E2)-1)/E1+1))

就實作了一鍵分解零件訂單。

69 “動态數組”用法詳解(四) -數字數組函數
69 “動态數組”用法詳解(四) -數字數組函數

我是古哥:

從事制造行業18年,在企業營運、供應鍊管理、智能制造系統等方面具有豐富的實戰經驗。企業智能化,柔性化計劃營運管理專家,擅長通過企業流程優化規範,企業管理、導入計劃營運提升企業效率;對提高企業準時交貨率,降低企業庫存,輸出智能制造人才有豐富的經驗。學習PMC生産計劃,關注古哥計劃!