二維碼 購(gòu)物車
部落窩在線教育歡迎您!

makearray函數(shù)用法6例

?

作者:小窩來(lái)源:部落窩教育發(fā)布時(shí)間:2024-04-12 09:50:24點(diǎn)擊:1341

分享到:
0
收藏    收藏人氣:0人
版權(quán)說(shuō)明: 原創(chuàng)作品,禁止轉(zhuǎn)載。
編按:

教程介紹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ù)組,所以MAKEARRAYLAMBDA每次運(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))

 

圖形用戶界面, 應(yīng)用程序, 表格
描述已自動(dòng)生成

 

說(shuō)明:

53戶(每層)的門牌號(hào)一共53列,所以MAKEARRAY公式中行數(shù)是5,列數(shù)是3

行數(shù)5,在此處代表了一個(gè)行序列值{12;3;4;5};

列數(shù)3,在此處代表了一個(gè)列序列值{1,2,3}。

LAMBDA運(yùn)算式,R變量代表行數(shù),將從15逐個(gè)取值;C變量代表列數(shù),將從13逐個(gè)取值;然后每個(gè)R值和C值通過(guò)連接符組成1-1、1-21-3、1-4等值。

 

圖示
描述已自動(dòng)生成

 

2)行列數(shù)不參與值的計(jì)算

當(dāng)行列數(shù)不參與值得計(jì)算時(shí),它們只用于確定結(jié)果數(shù)組的大小。

譬如,需要生成34列的隨機(jī)數(shù)。

公式=MAKEARRAY(3,4,LAMBDA(r,c,RANDBETWEEN(1,20)))

 

表格
描述已自動(dòng)生成

 

說(shuō)明:

此處行數(shù)和列數(shù)都沒(méi)有參與數(shù)值的計(jì)算,只是確定了結(jié)果數(shù)組是34列,每個(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,"")))

 

表格
描述已自動(dòng)生成

 

說(shuō)明:

行列數(shù)參與了值的計(jì)算。

當(dāng)行值X大于等于列值Y時(shí),等于Y&"*"&X&"="&Y*X,否則等于空。XY的取值都是19

 

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,))))

 

表格
描述已自動(dòng)生成

 

說(shuō)明:

此處,行數(shù)參與了值的計(jì)算。

COUNTA(B37:B42)用于得到需要的行數(shù),6;列數(shù)就是1。

INDEX(C37:E42,X,)逐次從行序列{12;3;4;5;6}中取X值引用C37:E42中各行,然后用MAX獲得各行最大值。

 

3)同時(shí)查找多個(gè)查找值并返回多列

不管是VLOOKUP還是XLOOKUP,都只能是:要么同時(shí)查找多個(gè)查找值,返回單列數(shù)據(jù);要么查找一個(gè)值,但可以同時(shí)返回多列值。它們不可能同時(shí)查找多個(gè)查找值并返回多列值。

 

圖形用戶界面, 應(yīng)用程序, 表格, Excel
描述已自動(dòng)生成

 

現(xiàn)在搭配MAKEARRAY,問(wèn)題解決:

=MAKEARRAY(3,9,LAMBDA(R,C,XLOOKUP(INDEX(B58:B60,R,),B47:B55,INDEX(C47:K55,,C))))

 

表格
描述已自動(dòng)生成

 

說(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ù)拆分字符串成多列

譬如下方需要將AO的一個(gè)字符串按2個(gè)字符一組拆分為多列。

 

圖片包含 圖示
描述已自動(dòng)生成

 

公式=MAKEARRAY(1,ROUNDUP(LEN(B64)/2,0),LAMBDA(R,C,MID(B64,2*C-1,2)))

 

表格
中度可信度描述已自動(dòng)生成

 

說(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è)BYCOLBYROW。

 

本文配套的練習(xí)課件請(qǐng)?zhí)砑涌头⑿?span>buluowojiaoyu索取。

Excel高手,快速提升工作效率,部落窩教育Excel精品好課任你選擇!

掃下方二維碼關(guān)注公眾號(hào),可隨時(shí)隨地學(xué)習(xí)Excel

IMG_256

相關(guān)推薦:

新函數(shù)LAMBDA的用法(下)——遞歸運(yùn)算詳解

XLOOKUP函數(shù)在常規(guī)用法上與VLOOKUPLOOKUP的對(duì)標(biāo)!

Xlookup的神奇用法——相交查找

Excel生成隨機(jī)時(shí)間和日期

版權(quán)申明:

本文作者小窩;部落窩教育享有稿件專有使用權(quán)。若需轉(zhuǎn)載請(qǐng)聯(lián)系部落窩教育。