makearray函數(shù)用法6例
?
作者:小窩來(lái)源:部落窩教育發(fā)布時(shí)間:2024-04-12 09:50:24點(diǎn)擊:1341
教程介紹Excel或者WPS表格中的MAKEARRAY函數(shù)用法6例。包括基本用法2列,以及同時(shí)查找多個(gè)查找值并返回多列數(shù)據(jù)等4例。
今天小窩向大家介紹MAKEARRAY函數(shù)用法,在Excel和新版的WPS表格中都可以使用。
1.作用與語(yǔ)法
MAKEARRAY函數(shù)須搭配LAMBDA函數(shù)使用,它會(huì)生成指定行列數(shù)的數(shù)組。數(shù)組中的值由LAMBDA函數(shù)生成。
=MAKEARRAY(行數(shù),列數(shù),LAMBDA運(yùn)算式)
行數(shù),指定需要輸出的數(shù)組行數(shù);
列數(shù),指定需要輸出的數(shù)組列數(shù);
LAMBDA運(yùn)算式,用于計(jì)算生成數(shù)組中的每個(gè)值。
注意:因?yàn)?span>Excel函數(shù)不支持?jǐn)?shù)組的數(shù)組,所以MAKEARRAY中LAMBDA每次運(yùn)算結(jié)果只能是單個(gè)值而不能是數(shù)組。
2. MAKEARRAY基本用法
MAKEARRAY函數(shù)的行、列參數(shù),可以參與值的計(jì)算,也可以不參與值的計(jì)算。
1)行列數(shù)參與值的運(yùn)算
當(dāng)行或列數(shù)參與運(yùn)算時(shí),其各代表一個(gè)從1到自己的序列。
譬如,為某單元樓生成門牌號(hào),一共5層,每層3戶。
公式=MAKEARRAY(5,3,LAMBDA(R,C,R&"-"&C))
說(shuō)明:
5層3戶(每層)的門牌號(hào)一共5行3列,所以MAKEARRAY公式中行數(shù)是5,列數(shù)是3。
行數(shù)5,在此處代表了一個(gè)行序列值{1;2;3;4;5};
列數(shù)3,在此處代表了一個(gè)列序列值{1,2,3}。
LAMBDA運(yùn)算式,R變量代表行數(shù),將從1到5逐個(gè)取值;C變量代表列數(shù),將從1到3逐個(gè)取值;然后每個(gè)R值和C值通過(guò)連接符組成1-1、1-2、1-3、1-4等值。
2)行列數(shù)不參與值的計(jì)算
當(dāng)行列數(shù)不參與值得計(jì)算時(shí),它們只用于確定結(jié)果數(shù)組的大小。
譬如,需要生成3行4列的隨機(jī)數(shù)。
公式=MAKEARRAY(3,4,LAMBDA(r,c,RANDBETWEEN(1,20)))
說(shuō)明:
此處行數(shù)和列數(shù)都沒(méi)有參與數(shù)值的計(jì)算,只是確定了結(jié)果數(shù)組是3行4列,每個(gè)值由隨機(jī)函數(shù)RANDBETWEEN生成。
此處生成隨機(jī)數(shù)數(shù)組有更簡(jiǎn)單的函數(shù)RANDARRAY。
3. MAKEARRAY典型實(shí)例
1)九九乘法表
公式=MAKEARRAY(9,9,LAMBDA(x,y,IF(x>=y,y&"*"&x&"="&y*x,"")))
說(shuō)明:
行列數(shù)參與了值的計(jì)算。
當(dāng)行值X大于等于列值Y時(shí),等于Y&"*"&X&"="&Y*X,否則等于空。X和Y的取值都是1到9。
2)求各行最大值
在MAP函數(shù)教程中,小窩曾例舉用一個(gè)公式(不下拉填充)求各行最大值。但是用MAP存在一個(gè)問(wèn)題,就是列數(shù)越多,變量就越多。而用MAKEARRAY函數(shù),則不存在這樣的問(wèn)題。
公式=MAKEARRAY(COUNTA(B37:B42),1,LAMBDA(X,Y,MAX(INDEX(C37:E42,X,))))
說(shuō)明:
此處,行數(shù)參與了值的計(jì)算。
COUNTA(B37:B42)用于得到需要的行數(shù),6;列數(shù)就是1。
INDEX(C37:E42,X,)逐次從行序列{1;2;3;4;5;6}中取X值引用C37:E42中各行,然后用MAX獲得各行最大值。
3)同時(shí)查找多個(gè)查找值并返回多列
不管是VLOOKUP還是XLOOKUP,都只能是:要么同時(shí)查找多個(gè)查找值,返回單列數(shù)據(jù);要么查找一個(gè)值,但可以同時(shí)返回多列值。它們不可能同時(shí)查找多個(gè)查找值并返回多列值。
現(xiàn)在搭配MAKEARRAY,問(wèn)題解決:
=MAKEARRAY(3,9,LAMBDA(R,C,XLOOKUP(INDEX(B58:B60,R,),B47:B55,INDEX(C47:K55,,C))))
說(shuō)明:
此處,行列數(shù)都參與了值的計(jì)算。
INDEX(B58:B60,R,)從1~3的行序列中逐個(gè)取R值引用B58:B60的各行作為查找值;
INDEX(C47:K55,,C)從1~9的列序列中逐個(gè)取C值引用C47:K55中各列作為返回值。
4)按指定字符數(shù)拆分字符串成多列
譬如下方需要將A到O的一個(gè)字符串按2個(gè)字符一組拆分為多列。
公式=MAKEARRAY(1,ROUNDUP(LEN(B64)/2,0),LAMBDA(R,C,MID(B64,2*C-1,2)))
說(shuō)明:
此處只有列數(shù)參與了值的計(jì)算。
ROUNDUP(LEN(B64)/2,0)計(jì)算出拆分的列數(shù)。
MID(B64,2*C-1,2),2*C-1依次從列序列中取C值計(jì)算出開始提取字符的位置,然后用MID提取2個(gè)字符。
MAKEARRAY函數(shù),日??赡苡玫貌欢唷5珱_著它搞定了同時(shí)查找多個(gè)查找值并返回多列數(shù)據(jù)的難點(diǎn),也值得大家了解和學(xué)習(xí)。
截止現(xiàn)在,LAMBDA函數(shù)的6個(gè)伴生函數(shù),小窩已經(jīng)介紹了4個(gè),下次將介紹最后兩個(gè)BYCOL、BYROW。
本文配套的練習(xí)課件請(qǐng)?zhí)砑涌头⑿?span>buluowojiaoyu索取。
做Excel高手,快速提升工作效率,部落窩教育Excel精品好課任你選擇!
掃下方二維碼關(guān)注公眾號(hào),可隨時(shí)隨地學(xué)習(xí)Excel:
相關(guān)推薦:
新函數(shù)LAMBDA的用法(下)——遞歸運(yùn)算詳解
XLOOKUP函數(shù)在常規(guī)用法上與VLOOKUPLOOKUP的對(duì)標(biāo)!
版權(quán)申明:
本文作者小窩;部落窩教育享有稿件專有使用權(quán)。若需轉(zhuǎn)載請(qǐng)聯(lián)系部落窩教育。
最熱教程
- 像綠皮火車一樣長(zhǎng)像珠穆拉瑪峰一樣高的Excel表怎么操作才方便?
- Power Query實(shí)戰(zhàn):按指定次數(shù)遞增數(shù)據(jù)
- 2019年全網(wǎng)最全—excel提取身份證信息合集?。ńㄗh收藏)-下篇
- 明明沒(méi)有重復(fù),Excel卻判定數(shù)據(jù)重復(fù),這是怎么回事?
- 文本格式的求和,及求和中最容易出現(xiàn)的問(wèn)題解疑
- 致命缺陷:不懂一維表!
- 函數(shù)組合思維,你有嗎?
- 學(xué)會(huì)這2個(gè)公式,整理考勤數(shù)據(jù)只要一分鐘
- 就算被說(shuō)是拍馬屁也成,今天你應(yīng)該這樣發(fā)Excel報(bào)表……
- 如何計(jì)算Excel單元格中的算式,四種求和方法請(qǐng)收好!
最新教程
- SHEETSNAME,一鍵獲得所有工作表名稱完成目錄制作
- 延遲退休落地,快速查詢你上幾年才退休!
- 快速將PDF電子發(fā)票數(shù)據(jù)提取到發(fā)票明細(xì)登記表的方法
- 提取、查找、替換數(shù)據(jù)的王者——REGEXP正則函數(shù)
- Excel表10萬(wàn)行數(shù)據(jù),篩選卡頓怎么辦?
- 兩個(gè)不用嵌套的萬(wàn)能提取公式,含用REGEXP函數(shù)提取
- 用Excel制作刷題器,備考無(wú)憂 !
- 如何用LET+LAMBDA直接寫遞歸公式?
- 用函數(shù)合并多個(gè)工作表數(shù)據(jù)
- 用LAMBDA自定義顏色求和函數(shù)