二維碼 購物車(chē)
部落窩在線(xiàn)教育歡迎您!

makearray函數用法6例

?

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

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

教程介紹Excel或者WPS表格中的MAKEARRAY函數用法6例。包括基本用法2列,以及同時(shí)查找多個(gè)查找值并返回多列數據等4例。

 

今天小窩向大家介紹MAKEARRAY函數用法,在Excel和新版的WPS表格中都可以使用。

1.作用與語(yǔ)法

MAKEARRAY函數須搭配LAMBDA函數使用,它會(huì )生成指定行列數的數組。數組中的值由LAMBDA函數生成。

=MAKEARRAY(行數,列數,LAMBDA運算式)

行數,指定需要輸出的數組行數;

列數,指定需要輸出的數組列數;

LAMBDA運算式,用于計算生成數組中的每個(gè)值。

注意:因為Excel函數不支持數組的數組,所以MAKEARRAYLAMBDA每次運算結果只能是單個(gè)值而不能是數組。

2. MAKEARRAY基本用法

MAKEARRAY函數的行、列參數,可以參與值的計算,也可以不參與值的計算。

1)行列數參與值的運算

當行或列數參與運算時(shí),其各代表一個(gè)從1到自己的序列。

譬如,為某單元樓生成門(mén)牌號,一共5層,每層3戶(hù)。

公式=MAKEARRAY(5,3,LAMBDA(R,C,R&"-"&C))

 

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

 

說(shuō)明:

53戶(hù)(每層)的門(mén)牌號一共53列,所以MAKEARRAY公式中行數是5,列數是3。

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

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

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

 

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

 

2)行列數不參與值的計算

當行列數不參與值得計算時(shí),它們只用于確定結果數組的大小。

譬如,需要生成34列的隨機數。

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

 

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

 

說(shuō)明:

此處行數和列數都沒(méi)有參與數值的計算,只是確定了結果數組是34列,每個(gè)值由隨機函數RANDBETWEEN生成。

此處生成隨機數數組有更簡(jiǎn)單的函數RANDARRAY。

 

3. MAKEARRAY典型實(shí)例

1)九九乘法表

公式=MAKEARRAY(9,9,LAMBDA(x,y,IF(x>=y,y&"*"&x&"="&y*x,"")))

 

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

 

說(shuō)明:

行列數參與了值的計算。

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

 

2)求各行最大值

MAP函數教程中,小窩曾例舉用一個(gè)公式(不下拉填充)求各行最大值。但是用MAP存在一個(gè)問(wèn)題,就是列數越多,變量就越多。而用MAKEARRAY函數,則不存在這樣的問(wèn)題。

公式=MAKEARRAY(COUNTA(B37:B42),1,LAMBDA(X,Y,MAX(INDEX(C37:E42,X,))))

 

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

 

說(shuō)明:

此處,行數參與了值的計算。

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

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

 

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

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

 

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

 

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

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

 

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

 

說(shuō)明:

此處,行列數都參與了值的計算。

INDEX(B58:B60,R,)1~3的行序列中逐個(gè)取R值引用B58:B60的各行作為查找值;

INDEX(C47:K55,,C)1~9的列序列中逐個(gè)取C值引用C47:K55中各列作為返回值。

 

4)按指定字符數拆分字符串成多列

譬如下方需要將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ō)明:

此處只有列數參與了值的計算。

ROUNDUP(LEN(B64)/2,0)計算出拆分的列數。

MID(B64,2*C-1,2),2*C-1依次從列序列中取C值計算出開(kāi)始提取字符的位置,然后用MID提取2個(gè)字符。

 

MAKEARRAY函數,日??赡苡玫貌欢?。但沖著(zhù)它搞定了同時(shí)查找多個(gè)查找值并返回多列數據的難點(diǎn),也值得大家了解和學(xué)習。

截止現在,LAMBDA函數的6個(gè)伴生函數,小窩已經(jīng)介紹了4個(gè),下次將介紹最后兩個(gè)BYCOL、BYROW。

 

本文配套的練習課件請添加客服微信buluowojiaoyu索取。

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

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

IMG_256

相關(guān)推薦:

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

XLOOKUP函數在常規用法上與VLOOKUPLOOKUP的對標!

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

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

版權申明:

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