Excel進(jìn)入函數(shù)式編程: MAP函數(shù)使用詳解及相關(guān)案例

今天我們正式進(jìn)入了函數(shù)式編程的篇章,徹底跟輔助列說拜拜了!這一節(jié)我們來了解下MAP函數(shù)的使用方法,它是LAMBDA函數(shù)的輔助函數(shù),所謂的輔助函數(shù)就意味,這個函數(shù)必須配合LAMBDA才能使用。
一、了解數(shù)組概念
要學(xué)習(xí)LAMBDA的輔助函數(shù),必須要了解數(shù)組這個概念,因為LAMBDA的輔助函數(shù)大多都是數(shù)字,結(jié)果會自動生成無需進(jìn)行函數(shù)填充。
數(shù)組簡單來說就是由一串?dāng)?shù)字組成的數(shù)據(jù),數(shù)組中的數(shù)字是一個整體,不可單獨刪除,關(guān)于數(shù)組我們需要明白他們的計算規(guī)則,數(shù)組與單個數(shù)字發(fā)生運算,是數(shù)組中的所有數(shù)字與這個數(shù)字逐個計算形成一個新數(shù)組,數(shù)組與數(shù)組發(fā)生計算,是數(shù)組中位置對應(yīng)的數(shù)字計算,然后形成一個新的數(shù)組,數(shù)組之前有詳細(xì)講到過,在這里就不再贅述了,不明的大家可以搜下之前發(fā)的文章。
二、MAP函數(shù)
MAP: 將數(shù)組中的每個值通過LAMBDA進(jìn)行計算,得到與原數(shù)組相同的結(jié)果。
語法:=MAP (array1, lambda_or_array<#>)
- 參數(shù)1:要映射的數(shù)組。
- 參數(shù)2:關(guān)于lambda的計算式
我們可以把這個函數(shù)簡單理解為映射,就好比當(dāng)?shù)谝粎?shù)代入了4個數(shù)字,這4個數(shù)字會經(jīng)過lambda的計算,再返回4個對應(yīng)的結(jié)果,結(jié)果的位置跟個數(shù)與代入數(shù)字的位置與個數(shù)相互對應(yīng)。
三、單參數(shù)案例
公式:=MAP(A2:A6,LAMBDA(x,PI()*x^2))
- 參數(shù)1:A2:A6
- 參數(shù)2:LAMBDA(x,PI()*x^2)
這個函數(shù)的作用是計算圓的面積,在這里X就表示A2:A6這個區(qū)域,MAP會將這個區(qū)域的所有數(shù)據(jù)逐個代入LAMBDA返回對應(yīng)的結(jié)果。
四、雙參數(shù)案例
公式:=MAP(A3:A9,B3:B9,LAMBDA(x,y,x+y))
這個函數(shù)的作用是讓2個區(qū)域的數(shù)組相加,這個案例的關(guān)鍵是是要告訴大家,MAP是可以設(shè)置多個數(shù)據(jù)區(qū)域的,如果你在MAP設(shè)置了多個數(shù)據(jù)區(qū)域,就必須要在LAMBDA中定義對應(yīng)的名稱。
在這里X就A3:A9。Y就表示B3:B9 ,表達(dá)式可以根據(jù)X與Y來隨意書寫。
五、累加求和
公式:=MAP(C2:C8,LAMBDA(X,SUM(C2:X)))
這個公式是為了告訴大家,MAP它引用的是單元格為位置,是將單元格的位置代入到函數(shù)中進(jìn)行計算的,而不是單元格中的值。
如下圖,將C2:C8區(qū)域代入到MAP函數(shù)后,區(qū)域就會變?yōu)镃2:C2,C2:C3, C2:C4單位依次增加從而達(dá)到累加求和的效果。
六、合并同類項
公式:=VSTACK({"部門","姓名"},HSTACK(UNIQUE(C3:C13),MAP(UNIQUE(C3:C13),LAMBDA(x,TEXTJOIN("、",TRUE,FILTER(B3:B13,C3:C13=x))))))
使用這個公式,我們可以補借助輔助列,一步得到合并同類項的結(jié)果,公式雖然看起來挺復(fù)雜,但是理解起來并不難。
- 1. 首先利用FILTER來篩選出班級對應(yīng)的雖有姓名
- 2. 利用TEXTJOIN函數(shù)將班級所有的姓名都合并在一個單元格中
- 3. 使用MAP將部門逐個代入TEXTJOIN函數(shù),
- 4. 利用HSTACK將部門添加到結(jié)果的左側(cè)
- 5. 使用VSTACK將表頭添加在結(jié)果上方
以上就是MAP函數(shù)函數(shù)的使用方法,以后會跟大家介紹更多的編程式函數(shù),大家可以凍手練習(xí)一下,因為編程式函數(shù)確實有點費腦子。
相關(guān)文章
excel新函數(shù)REDUCE來了! Excel中REDUCE函數(shù)使用詳解和相關(guān)案例
Excel的REDUCE函數(shù)是一個強大的工具,它允許用戶對數(shù)據(jù)進(jìn)行復(fù)雜的計算和操作,該怎么使用呢?下面我們就來看看實際案例2024-12-18這個新增的Excel提取函數(shù)太厲害了! EGEXEXTRACT函數(shù)使用詳解
Excel中的REGEXEXTRACT函數(shù)是Office 365和Excel 2019的新增功能,它允許用戶使用正則表達(dá)式來提取文本字符串中的特定模式,以下是對REGEXEXTRACT函數(shù)的詳解、注意事項和六2024-12-12Excel新函數(shù)VSTACK真強大! 多表自動匯總/多表自動排序輕松搞定
今天就再重新系統(tǒng)的介紹一下Excel新函數(shù)VSTACK的用法,這個函數(shù)簡直強大的有點過分,多表合并、求和、去重、查詢、排序通通輕松搞定2024-12-12excel新函數(shù)HSTACK太好用了! 搭配Xlookup輕松提取任意列數(shù)據(jù)
日常工作中,我們經(jīng)常需要對Excel表格中不連續(xù)列數(shù)據(jù)的進(jìn)行操作,今天就跟大家分享一個新函數(shù)HSTACK,它可以輕松將表格中的任意幾列重組為新的表格,用于對指定數(shù)據(jù)列的篩2024-12-12- 快遞運費秒算!Xlookup函數(shù)大法來啦,還在為手動計算快遞運費而煩惱嗎?別擔(dān)心,excel中Xlookup函數(shù)快速計算運費的技巧2024-12-12
ROW怎么做序列號? excel中ROW函數(shù)輕松生成6類序號的技巧
平時我們經(jīng)常使用,直接拖動單元格來實現(xiàn)序號,但是如果中間刪掉幾行,序號就不連貫了,這是需要使用ROW函數(shù)來實現(xiàn),下面我們就來看看ROW函數(shù)用法2024-12-12excel新增新函數(shù)可以提取任意行列數(shù)據(jù):CHOOSECOLS與CHOOSEROWS用法
excel又來了2個新函數(shù),提取任意行列數(shù)據(jù),太好用了,下面我們就來看看CHOOSECOLS與CHOOSEROWS函數(shù)用法2024-12-12輕松實現(xiàn)行級數(shù)據(jù)計算! Excel2024新函數(shù)BYROW詳解
2024年,Excel引入了令人興奮的新函數(shù)BYROW,這一功能將為用戶在數(shù)據(jù)分析時提供更強大的靈活性和簡便性,下面我們就來看看使用方法2024-12-10每一個使用頻率都是極高的! excel中5個函數(shù)搭配+10個公式直接套用
excel處理數(shù)據(jù)的時候,我們經(jīng)常使用函數(shù)家公式直接套用,簡單快捷,今天我們就來介紹五個函數(shù)和十個公式套用,使用率很高,詳細(xì)請看下文介紹2024-12-10excel最強函數(shù)SUMPRODUCT公式怎么用? 掌握這篇就夠了
在眾多的函數(shù)公式,有一個函數(shù)具有求和、計數(shù)多種功能,此函數(shù)就是Sumproduct,該怎么使用這個函數(shù)呢?下面我們就來你看看詳細(xì)教程2024-12-09