MAP函數(shù)如何使用?有何意義?
?
作者:小窩來(lái)源:部落窩教育發(fā)布時(shí)間:2024-03-27 14:20:50點(diǎn)擊:1533
如何使用MAP函數(shù)?MAP函數(shù)有何實(shí)際意義?本篇教程為大家解惑。
今天小窩向大家分享MAP函數(shù)的用法。MAP函數(shù)同樣需要嵌套LAMBDA函數(shù)使用。
1.作用與語(yǔ)法
MAP函數(shù)依次將數(shù)組的每個(gè)值代入LAMBDA函數(shù)中進(jìn)行運(yùn)算并以數(shù)組的形式輸出各自的結(jié)果。MAP在此處不是地圖,而是映射:將數(shù)組各值運(yùn)算后的結(jié)果按其原來(lái)位置關(guān)系映射成新數(shù)組。
=MAP(數(shù)組,LAMBDA運(yùn)算式)
數(shù)組,要參與運(yùn)算的數(shù)組,可以有多個(gè)數(shù)組。
LAMBDA運(yùn)算式,是最后一個(gè)參數(shù),其變量的多少取決于數(shù)組的多少。譬如一個(gè)數(shù)組,則LAMBDA只有一個(gè)變量;兩個(gè)數(shù)組,LAMBDA就有兩個(gè)變量。
2.基本用法
1)單個(gè)數(shù)組運(yùn)算
譬如求每個(gè)數(shù)據(jù)的平方,公式=MAP(B13:B18,LAMBDA(x,x^2))
再譬如求數(shù)據(jù)的累加和,公式=MAP(B23:B28,LAMBDA(x,SUM(B23:x)))
說(shuō)明:
數(shù)組中各數(shù)據(jù)參與運(yùn)算包含兩種:既可以是數(shù)組中的各值參與運(yùn)算,也可以是數(shù)組中各單元格參與運(yùn)算。當(dāng)前的累加和,X代表的就是單元格引用而非具體的值。
2)多個(gè)數(shù)組運(yùn)算
譬如求兩列數(shù)的和,公式=MAP(A33:A38,B33:B38,LAMBDA(x,y,x+y))
說(shuō)明:
多個(gè)數(shù)組運(yùn)算,各數(shù)組的大小須一致,譬如當(dāng)前A33:A38和B33:B38都是6行1列的數(shù)組。
如果運(yùn)算的數(shù)組大小不一致,缺少項(xiàng)將出現(xiàn)#N/A錯(cuò)誤,譬如=MAP(A33:A38,B33:B37,LAMBDA(x,y,x+y)):
3)LAMBDA運(yùn)算的每次結(jié)果須是單個(gè)值而不是數(shù)組
譬如求下列數(shù)據(jù)分別加10和5的和,公式=MAP(B43:B48,LAMBDA(x,x+{10,5}))得不到正確結(jié)果:
說(shuō)明:
MAP會(huì)輸出由每個(gè)X的結(jié)果組成的數(shù)組,而當(dāng)前每個(gè)X的結(jié)果都是一個(gè)數(shù)組(X+{10,5}會(huì)得到一個(gè)數(shù)組而不是一個(gè)數(shù)),這就成了嵌套數(shù)組。因?yàn)?span>Excel函數(shù)不支持嵌套數(shù)組,所以結(jié)果是#CALC!錯(cuò)誤。
3.MAP有何意義?
到這里,想必大家對(duì)MAP的用法有了清楚的認(rèn)識(shí),同時(shí)會(huì)浮現(xiàn)一個(gè)疑惑:MAP有用嗎?
每個(gè)數(shù)據(jù)加10,直接數(shù)組運(yùn)算更簡(jiǎn)便:
每個(gè)數(shù)據(jù)的平方,同樣數(shù)組運(yùn)算很簡(jiǎn)便:
求累計(jì)和,也有簡(jiǎn)短公式=SUM($B$23:B23):
甚至MAP函數(shù)不支持的嵌套數(shù)組,也可以直接運(yùn)算,=B43:B48+{10,5}:
諸如以上,用MAP函數(shù),不但公式長(zhǎng),還有限制條件,為何還需要MAP函數(shù)呢?
(1)有很多函數(shù)是聚合類(lèi)的,只輸出單個(gè)值而無(wú)法得到數(shù)組,如SUM、MAX、COUNT、AND等;對(duì)這類(lèi)函數(shù),如果要輸出數(shù)組,就需要MAP;
(2)MAP函數(shù)可以只寫(xiě)一個(gè)公式就完成整列數(shù)據(jù)處理,而不再需要公式的下拉填充;
(3)當(dāng)需要原數(shù)組各自用同一算式計(jì)算后再分別代入另一個(gè)算式中計(jì)算時(shí),用MAP就不用建立輔助列。
譬如,求下方各行數(shù)據(jù)的最大值。使用MAX函數(shù)公式得到B53:C53的最大值,然后向下填充得到其他行的最大值。
由于MAX是聚合類(lèi)函數(shù),只輸出一個(gè)最大值,所以我們不可能通過(guò)在MAX參數(shù)中添加數(shù)組來(lái)得到各行的最大值,如下方兩個(gè)公式都不行:
=MAX(B53:C53,B54:C54,B55:C55,B56:C56,B57:C57)
=MAX(B53:B57,C53:C57)
要想一個(gè)公式就得到所有行的最大值,只能用MAP函數(shù),=MAP(B53:B57,C53:C57,LAMBDA(X,Y,MAX(X,Y))):
4.應(yīng)用例舉
1)替換字符
小窩曾分享下拉填充REDUCE函數(shù)公式進(jìn)行多字符替換。現(xiàn)在與MAP配合,可以一個(gè)公式完成所有替換:
=MAP(B89:B93,LAMBDA(a,REDUCE(a,F89:F93,LAMBDA(x,y,SUBSTITUTE(x,y,OFFSET(y,0,1))))))
2)匯總名單
如下,按班級(jí)匯總名單。
現(xiàn)在匯總表標(biāo)題和班級(jí)都有了。用傳統(tǒng)公式的話,可以=TEXTJOIN("、",1,FILTER($C$98:$C$105,$B$98:$B$105=F98))并向下填充:
不填充,一個(gè)公式=MAP(F98:F99,LAMBDA(x,TEXTJOIN("、",1,FILTER(C98:C105,B98:B105=x)))):
本文配套的練習(xí)課件請(qǐng)?zhí)砑涌头⑿?span>buluowojiaoyu索取。
做Excel高手,快速提升工作效率,部落窩教育Excel精品好課任你選擇!
掃下方二維碼關(guān)注公眾號(hào),可隨時(shí)隨地學(xué)習(xí)Excel:
相關(guān)推薦:
連續(xù)數(shù)統(tǒng)計(jì)就用FREQUENCY
版權(quán)申明:
本文作者小窩;部落窩教育享有稿件專(zhuān)有使用權(quán)。若需轉(zhuǎn)載請(qǐng)聯(lián)系部落窩教育。
最熱教程
- 像綠皮火車(chē)一樣長(zhǎng)像珠穆拉瑪峰一樣高的Excel表怎么操作才方便?
- Power Query實(shí)戰(zhàn):按指定次數(shù)遞增數(shù)據(jù)
- 2019年全網(wǎng)最全—excel提取身份證信息合集!(建議收藏)-下篇
- 明明沒(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)收好!
最新教程
- 一個(gè)公式搞定空行的動(dòng)態(tài)插入
- 多功能銷(xiāo)售日歷模板制作
- 用正則函數(shù)快速拆分單元格中的同類(lèi)數(shù)據(jù)
- 用免費(fèi)AI將圖片批量轉(zhuǎn)表格
- 先入先出出入庫(kù)模板中出庫(kù)批次的自動(dòng)匹配
- 用SUBSTITUTE替換法為產(chǎn)品找到最匹配的類(lèi)別
- SHEETSNAME,一鍵獲得所有工作表名稱(chēng)完成目錄制作
- 延遲退休落地,快速查詢(xún)你上幾年才退休!
- 快速將PDF電子發(fā)票數(shù)據(jù)提取到發(fā)票明細(xì)登記表的方法
- 提取、查找、替換數(shù)據(jù)的王者——REGEXP正則函數(shù)