makearray函數(shù)怎么用? WPS表格中MAKEARRAY函數(shù)的深度應(yīng)用實(shí)例
AKEARRAY函數(shù)是一種用于創(chuàng)建自定義數(shù)組的函數(shù)。它接受兩個(gè)參數(shù),一個(gè)是行數(shù),另一個(gè)是列數(shù),然后返回一個(gè)指定大小的二維數(shù)組。這個(gè)函數(shù)非常適合在需要手動(dòng)創(chuàng)建數(shù)組結(jié)構(gòu)的情況下使用,比如填充特定的模式或者生成重復(fù)的數(shù)據(jù)。下面我們來(lái)分享WPS表格中MAKEARRAY函數(shù)的深度應(yīng)用實(shí)例
一、函數(shù)簡(jiǎn)介
MAKEARRAY是WPS表格中的動(dòng)態(tài)數(shù)組函數(shù),用于根據(jù)自定義規(guī)則生成指定行列數(shù)的二維數(shù)組。其語(yǔ)法為:
- =MAKEARRAY(行數(shù),列數(shù),LAMBDA(r,c,計(jì)算公式)),通過(guò)應(yīng)用LAMBDA函數(shù)返回指定行和列大小的計(jì)算數(shù)組。
- 行數(shù):生成數(shù)組的行數(shù)
- 列數(shù):生成數(shù)組的列數(shù)
- LAMBDA:以行號(hào)(r)和列號(hào)(c)為參數(shù)的函數(shù),定義每個(gè)單元格的計(jì)算規(guī)則
使用MAKEARRAY函數(shù)的注意事項(xiàng):
- MAKEARRAY函數(shù)返回一個(gè)二維數(shù)組,即使你只指定了一行或一列。
[fill]參數(shù)是可選的,如果你不需要數(shù)組中的所有元素都有相同的值,可以省略此參數(shù)。- MAKEARRAY函數(shù)在處理大型數(shù)組時(shí)可能會(huì)導(dǎo)致性能下降,因?yàn)樗鼤?huì)在內(nèi)存中創(chuàng)建整個(gè)數(shù)組。
二、應(yīng)用場(chǎng)景實(shí)例
場(chǎng)景1:生成動(dòng)態(tài)乘法表
需求:快速創(chuàng)建9×9乘法表,避免手動(dòng)輸入公式。
公式:=MAKEARRAY(9,9,LAMBDA(r,c,IF(c<=r,r&"×"&c&"="&r*c,"")))
步驟分解:
設(shè)置行列范圍:r=9, c=9
定義LAMBDA規(guī)則:每個(gè)單元格顯示r×c=結(jié)果格式(r為當(dāng)前行號(hào),c為當(dāng)前列號(hào)),用IF來(lái)判斷列小于等于行號(hào)時(shí),就顯示該列的數(shù)據(jù),否則就為空值。
自動(dòng)填充:無(wú)需拖拽公式,自動(dòng)生成完整乘法表
具體結(jié)果如下圖所示:

場(chǎng)景2:批量轉(zhuǎn)換溫度單位
需求:將A列中的攝氏溫度(C2)批量轉(zhuǎn)換為華氏度,并生成兩列數(shù)據(jù)(原值+轉(zhuǎn)換值)。
公式:=MAKEARRAY(ROWS(C2:C10),2,LAMBDA(r,c,IF(c=1,INDEX(C2:C10,r),INDEX(C2:C10,r)*9/5+32)))
步驟分解:
- 確定行數(shù):ROWS(C2:C10)獲取原始數(shù)據(jù)行數(shù)
- 設(shè)置兩列:columns=2(原溫度 + 轉(zhuǎn)換結(jié)果)
條件判斷:
- 第1列(c=1)直接顯示原值
- 第2列通過(guò)公式C×9/5+32轉(zhuǎn)換
輸出效果:

場(chǎng)景3:動(dòng)態(tài)考勤表標(biāo)記周末
需求:生成2024年1月的考勤表,自動(dòng)標(biāo)記周末為灰色背景。
公式:=MAKEARRAY(1,31,LAMBDA(r,c,IF(WEEKDAY(DATE(2025,1,c), 2)>5,TEXT(c, "dd") & "?",TEXT(c, "dd"))))
步驟分解:
- 生成31天:columns=31
- 日期處理:DATE(2025,1,c)創(chuàng)建日期對(duì)象
- 周末判斷:WEEKDAY(...,2)>5識(shí)別周六/日
- 格式標(biāo)記:周末日期后添加"?"符號(hào)(結(jié)合條件格式設(shè)置背景色)
結(jié)果如下圖所示:

場(chǎng)景4:隨機(jī)驗(yàn)證碼生成器
需求:為員工批量生成8位包含大小寫(xiě)字母+數(shù)字的隨機(jī)驗(yàn)證碼。
公式=MAKEARRAY(10,1,LAMBDA(r,c,TEXTJOIN("",TRUE,MAKEARRAY(1,8,LAMBDA(_,__,MID("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",RANDBETWEEN(1,62),1))))))
關(guān)鍵技術(shù)點(diǎn):
嵌套MAKEARRAY:外層生成10個(gè)驗(yàn)證碼,內(nèi)層生成8個(gè)字符隨機(jī)字符選擇:通過(guò)RANDBETWEEN(1,62)從62個(gè)字符中隨機(jī)選取拼接字符串:TEXTJOIN將8個(gè)字符合并為1個(gè)驗(yàn)證碼。
結(jié)果如下圖所示:

場(chǎng)景5:數(shù)據(jù)抽樣(隨機(jī)不重復(fù)編號(hào))
需求:從1——100中隨機(jī)抽取10個(gè)不重復(fù)的編號(hào)。
公式:=LET(s,SORTBY(SEQUENCE(100),RANDARRAY(100)),MAKEARRAY(10,1,LAMBDA(r,c,INDEX(s,r))))
結(jié)果如下圖所示:

場(chǎng)景6:生成動(dòng)態(tài)日歷
需求:生成2025年當(dāng)月的日歷矩陣(按周分布)。
公式:=MAKEARRAY(6,7,LAMBDA(r,c,LET(d,DATE(TEXT(TODAY(),"yyyy"),TEXT(TODAY(),"m"),1)+(r-1)*7+(c-1),IF(MONTH(d)=--TEXT(TODAY(),"m"),DAY(d),""))))
結(jié)果如下圖所示:

場(chǎng)景7:行列求總和
需求:生成每行總和和每列總和
公式:=MAKEARRAY(5,6,LAMBDA(r,c,IFS(r*c=30,SUM(B2:F6),c=6,SUM(INDEX(B2:F6,r,)),r=5,SUM(INDEX(B2:F6,,c)),AND(r<5,c<=6),INDEX(B2:F6,r,c))))
結(jié)果如下圖所示:

場(chǎng)景8:多行多列查找引用
需求:一次性引用多行多列數(shù)據(jù)
公式:=MAKEARRAY(2,5,LAMBDA(r,c,XLOOKUP(INDEX(H2:H3,r),A2:A5,INDEX(B2:F5,,c))))
結(jié)果如下圖所示:

場(chǎng)景9:表格轉(zhuǎn)置,匯總數(shù)據(jù)并排序
需求:把二維表轉(zhuǎn)置為多維表格形式,并對(duì)數(shù)據(jù)進(jìn)行匯總求和后排序。
公式:=LET(s,SORTBY(UNIQUE(A2:A13),SUMIFS(C2:C13,A2:A13,UNIQUE(A2:A13)),-1),w,TOROW(UNIQUE(B2:B13)),h,HSTACK("產(chǎn)品種類",w),m,MAKEARRAY(ROWS(s),COLUMNS(w),LAMBDA(a,b,SUMIFS(C2:C13,A2:A13,INDEX(s,a),B2:B13,INDEX(w,b)))),VSTACK(h,HSTACK(s,m)))
結(jié)果如下圖所示:

場(chǎng)景10:多維數(shù)據(jù)匯總
公式:=LET(u,UNIQUE(B3 :B12),w,TOROW(UNIQUE(C3:C12)),h,HSTACK("姓名",w),m,MAKEARRAY(ROWS(u),COLUMNS(w),LAMBDA(r,c,CONCAT(FILTER(D3:D12,(B3:B12=INDEX(u,r))*(C3:C12=INDEX(w,c)),"")))),VSTACK(h,HSTACK(u,m)))
結(jié)果如下圖所示:

函數(shù)優(yōu)勢(shì)總結(jié)
- 動(dòng)態(tài)數(shù)組特性:自動(dòng)填充結(jié)果,無(wú)需手動(dòng)拖拽公式
- 靈活處理復(fù)雜邏輯:可嵌套IF、INDEX、RAND等函數(shù)
- 代碼簡(jiǎn)化:替代傳統(tǒng)需要復(fù)雜數(shù)組公式的場(chǎng)景
- 數(shù)據(jù)實(shí)時(shí)更新:當(dāng)輸入數(shù)據(jù)變化時(shí),結(jié)果自動(dòng)重算
通過(guò)以上實(shí)例可以看到,MAKEARRAY在處理批量數(shù)據(jù)生成、格式轉(zhuǎn)換、動(dòng)態(tài)模板創(chuàng)建等場(chǎng)景中具有顯著優(yōu)勢(shì),特別適合需要結(jié)合行列索引進(jìn)行復(fù)雜計(jì)算的場(chǎng)景。
相關(guān)文章

辦公效率提升的得力助手! WPS新增函數(shù)REDUCE基礎(chǔ)應(yīng)用詳解
WPS作為常用的辦公軟件,不斷推陳出新,其新增的函數(shù)功能為用戶帶來(lái)了極大的便利,特別是REDUCE函數(shù)是這次新增這些函數(shù)中一個(gè)非常強(qiáng)大的存在,下面我們就來(lái)看看這個(gè)函數(shù)的2025-08-28
一鍵提取工作表名! wps中SHEETSNAME函數(shù)的妙用
今天再和大家分享一個(gè)WPS表格中的特有函數(shù)——SHEETSNAME,這個(gè)函數(shù),能一鍵提取工作表名稱,詳細(xì)請(qǐng)看下文介紹2025-08-19
WRAPROWS函數(shù)有什么用? wps表格錯(cuò)亂數(shù)據(jù)整理神器
wps處理數(shù)據(jù)的時(shí)候,經(jīng)常會(huì)用到各種函數(shù),今天我們就來(lái)看看WRAPROWS函數(shù)的使用方法,詳細(xì)如下文所述2025-08-11
非標(biāo)一維數(shù)據(jù)到二維表的靈活轉(zhuǎn)換攻略! WPS中WRAPROWS函數(shù)使用指南
WPS中WRAPROWS函數(shù)的官網(wǎng)說(shuō)明就是一維數(shù)組轉(zhuǎn)成二維數(shù)組,聽(tīng)起來(lái)平淡無(wú)奇,使用場(chǎng)景確實(shí)也比較少,但是在某些特定場(chǎng)景下,用這個(gè)函數(shù)可以起到一招致勝,詳細(xì)請(qǐng)看下文介紹2025-08-11
交叉重復(fù)提取妙計(jì)! wps中REGEXP正則表達(dá)式函數(shù)用法
wps表格中不同單元格有有部分?jǐn)?shù)字是重復(fù)的,想要提取重復(fù)字符或者數(shù)據(jù),該怎么操作呢?下面我們就來(lái)看看詳細(xì)技巧2025-08-08
SUM函數(shù)求和出錯(cuò)怎么辦? wps數(shù)據(jù)格式錯(cuò)誤導(dǎo)致SUMIFS失效的解決辦法
遇到SUM函數(shù)統(tǒng)計(jì)卻沒(méi)有得到結(jié)果的問(wèn)題怎么辦?先別急著檢查公式對(duì)不對(duì),很可能你的統(tǒng)計(jì)區(qū)域里藏了文本格式的數(shù)據(jù),下面我們就來(lái)看看詳細(xì)解決辦法2025-08-06
實(shí)現(xiàn)動(dòng)態(tài)裝箱計(jì)算! wps中ddb+text函數(shù)公式的使用技巧
wps中有很多函數(shù)組合到一起會(huì)達(dá)到神奇的效果,比如我們今天用到的ddb+text函數(shù),可以輕松實(shí)現(xiàn)現(xiàn)動(dòng)態(tài)裝箱計(jì)算,詳細(xì)如下2025-07-30
從此以后寫(xiě)公式又有一種新路子! wps中用Let函數(shù)玩變量的技巧
wps中Let函數(shù)給計(jì)算結(jié)果分配名稱,就像編程里的變量一樣,它讓你的公式更清晰,減少冗余,下面我們就來(lái)看看用Let函數(shù)玩變量的技巧2025-07-22
提取任意行列數(shù)據(jù)太好用了! wps中chooserows與choosecols函數(shù)使用技巧
CHOOSECOLS CHOOSEROWS這兩個(gè)函數(shù)屬于同一類函數(shù),函數(shù)的目標(biāo)很明確,就是返回一組數(shù)據(jù)中,指定的行或列,類似OFFSET中返回指定區(qū)域,下面我們就來(lái)看看使用技巧2025-07-15
輕松搞定九九乘法表案例! wps利用MMULT函數(shù)玩矩陣的技巧
MMULT函數(shù)是wps中的一個(gè)標(biāo)準(zhǔn)數(shù)學(xué)函數(shù),用于計(jì)算兩個(gè)矩陣的乘積,用它昨九九乘法表確認(rèn)方便,詳細(xì)請(qǐng)看下文介紹2025-07-03



