最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

Excel中REDUCE與LAMBDA函數(shù)由淺入深地學(xué)習(xí)與應(yīng)用

2023-02-16 11:26 作者:青泥何盤盤p  | 我要投稿

目錄

一、前言

二、官方介紹

三、低階玩法

? ? ????3.1 應(yīng)用一:LAMBDA的公式應(yīng)用

????????3.2 應(yīng)用二:傳統(tǒng)公式創(chuàng)建九九乘法表

????????3.3 應(yīng)用二:LAMBDA創(chuàng)建九九乘法表

四、中階玩法

????????4.1 應(yīng)用三:拆分工資條

????????4.2 應(yīng)用四:批量替換

五、高階玩法

????????5.1 篩選不重復(fù)值

????????5.2 生成前x個數(shù)中的素數(shù)

????????5.3 數(shù)學(xué)循環(huán)公式計算

六、后記

一、前言

REDUCE與LAMBDA都是Excel中的高階函數(shù),在Microsoft 365中得到支持。

LAMBDA函數(shù)的出現(xiàn)是劃時代的,他的出現(xiàn)標(biāo)志著EXCEL的學(xué)習(xí)方向從公式思維轉(zhuǎn)變?yōu)榫幊趟季S來解決數(shù)據(jù)問題,而REDUCE函數(shù)的迭代計算配合LAMBDA函數(shù)使得Excel無所不能。

知識源于經(jīng)驗,但絕不來源于經(jīng)驗

——康德《純粹理性批判》

二、官方介紹

LAMBDA函數(shù)參見:

https://support.microsoft.com/zh-cn/office/lambda-%E5%87%BD%E6%95%B0-bd212d27-1cd1-4321-a34a-ccbf254b8b67

REDUCE函數(shù)參見:

https://support.microsoft.com/zh-cn/office/reduce-%E5%87%BD%E6%95%B0-42e39910-b345-45f3-84b8-0642b568b7cb


三、低階玩法

排除掉VBA和PowerQuery等玩法,使用Excel處理數(shù)據(jù)本身就是公式的排列組合嵌套,因此低階玩法就是兩個函數(shù)分開單獨使用。REDUCE函數(shù)需要搭配LAMBDA函數(shù)使用,所以低階玩法中僅對LAMBDA做介紹。

在任一單元格中輸入”=LAMBDA(x,y,x+y)(3,5)”,其結(jié)果為8,簡單解釋即定義”x”與”y”兩個參數(shù),然后創(chuàng)建一個”x+y”的函數(shù),最后對x和y分別賦值為”3”和”5”,最后返回結(jié)果”8”。

應(yīng)用一:LAMBDA的公式應(yīng)用

此時會有疑問:LAMBDA使用了看起來更加復(fù)雜的計算方法,得到的是和傳統(tǒng)公式一樣的結(jié)果,為什么要使用LAMBDA呢?在低階應(yīng)用時,LAMBDA確實不如傳統(tǒng)公式簡潔明了,但當(dāng)一次性處理的數(shù)據(jù)多了的時候,請看應(yīng)用二:創(chuàng)建一個九九乘法表

傳統(tǒng)公式:輸入”

=IF(ROW()>=COLUMN(),COLUMN()&"×"&ROW()&"="&ROW()*COLUMN(),"")

”,然后分別右拉下拉9格即完成。

缺點:修改顯示位置麻煩;這只是9×9的表格,如果是9000×9000呢?一格一格拉嗎?

應(yīng)用二:傳統(tǒng)公式創(chuàng)建九九乘法表

LAMBDA用法:輸入”

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

”,直接回車完成。

公式解釋:“先使用MAKEARRAY()函數(shù)創(chuàng)建一個9×9的數(shù)列,接著使用LAMBDA函數(shù)構(gòu)造乘法公式,其中”x”和”y”的值分別為行和列,在MAKEARRAY中給出。

缺點:需要理解函數(shù)。

應(yīng)用二:LMBDA函數(shù)創(chuàng)建九九乘法表

此時LAMBDA函數(shù)對批量數(shù)據(jù)的處理能力已經(jīng)初見端倪。


四、中階玩法

中階就需要REDUCE與LAMBDA進行嵌套使用了,可以簡單解釋為REDUCR(①,②,LAMBDA(x,y,⑤)),其中①是累加器的初始值,②是累加器的數(shù)組,REDUCE函數(shù)會在此數(shù)組上進行累加。⑤是構(gòu)建的x關(guān)于y的函數(shù)。在嵌套使用中,y作為每一次循環(huán)中的自變量,在數(shù)組②中一步一步地前進,x作為每一次循環(huán)的結(jié)果,在y遍歷完數(shù)組②之后輸出。

最經(jīng)典的應(yīng)用莫過于對工資條的拆分了。

應(yīng)用三:拆分工資條

輸入”

=REDUCE("",A2:A10,LAMBDA(x,y,VSTACK(x,A1:E1,FILTER(A2:E10,A2:A10=y," "),IF(A1:E1>0," "))))

其中VSTACK函數(shù)在Office 365以后支持;FILTER函數(shù)在Excel 2019以后支持。

文字解釋:累加值x的初始值為空,使用y遍歷”A2:A10”數(shù)組得到每次循環(huán)的姓名,再使用FILTER函數(shù)根據(jù)姓名(每一次的y)篩選出對應(yīng)的手機號、工資等(FILTER(A2:E10,A2:A10=y," "),也可以使用OFFSET取出每一行數(shù)值),接著使用VSTACK函數(shù),把每一次循環(huán)中得到的數(shù)據(jù)都加上表頭并組合(VSTACK(x,A1:E1,FILTER(*),IF(A1:E1>0," "))),其中IF(A1:E1>0," ")是為了在每一段循環(huán)后面加上空白行(也可以直接寫””,在最后嵌套IFERROR/IFNA函數(shù)解決),最后使用DROP函數(shù)處理掉第一行。

應(yīng)用三:拆分工資條

應(yīng)用四:批量替換

在Excel中,我們通常使用REPLACE函數(shù)或SUBSTITUTE函數(shù)進行文本替換,但在實際操作中往往需要多層嵌套。維護十分不便。

輸入”

=REDUCE(B2,$D$2:$D$11,LAMBDA(x,y,SUBSTITUTE(x,y,VLOOKUP(y,$D$2:$E$11,2,FALSE))))

使用高階函數(shù)組合后,可有效避免多層嵌套問題,哪怕是1萬個對應(yīng)關(guān)系,也可以輕松解決。

應(yīng)用四:批量替換,文字解釋參見應(yīng)用三。


五、高階玩法

熟練掌握中階玩法后,高階玩法無非就是一些高階函數(shù)的嵌套使用和數(shù)學(xué)邏輯判定,如繼續(xù)嵌套LET函數(shù)對變量命名使得后續(xù)維護(不一定)更加方便,這里不再贅述,只是列出一些現(xiàn)成整合好的函數(shù)可供參考

篩選不重復(fù)值,把P:P換成需要篩選的列即可(↓完整復(fù)制)

=LET(SCOPE,P:P,START,MIN(IF(SCOPE<>"",ROW(SCOPE),""))+1,COL,COLUMN(SCOPE),DROP(REDUCE("",SEQUENCE(MAX((SCOPE<>"")*(ROW(SCOPE)))-1,,START,1),LAMBDA(X,Y,LET(PRE,INDIRECT("R"&Y&"C"&COL,FALSE),IF(COUNTIF(OFFSET(INDIRECT("R"&START&"C"&COL,FALSE),,,Y-1),PRE)=1,VSTACK(X,PRE),X)))),1))&T(N("只需要把P:P換成需要篩選的列,即可篩選出來不重復(fù)值(office365版本),如果第一個數(shù)據(jù)不在第二行請修改START "))


生成前x個數(shù)中的素數(shù)(修改100為x,即可生成前x個數(shù)中的質(zhì)數(shù))=REDUCE(,SEQUENCE(100),LAMBDA(x,y,IF(COUNT(0/(MOD(y,SEQUENCE(y))=0))<3,VSTACK(x,y),x)))

生成前x個數(shù)中的素數(shù)

數(shù)學(xué)中的循環(huán)計算,例如下式:

知乎找到的公式舉例

=LET(終止數(shù),100,REDUCE(0,SORT(REDUCE(,SEQUENCE(終止數(shù)),LAMBDA(x,y,IF(COUNT(0/(MOD(y,SEQUENCE(y))=0))<3,VSTACK(x,y),x))),1,-1),LAMBDA(x,y,POWER(y+x,1/y)))-1)

數(shù)學(xué)中的循環(huán)計算


六、后記

限于水平,還有一些高階函數(shù)相互嵌套例子未列出,此文僅拋磚引玉為此函數(shù)的應(yīng)用作一些參考。



Excel中REDUCE與LAMBDA函數(shù)由淺入深地學(xué)習(xí)與應(yīng)用的評論 (共 條)

分享到微博請遵守國家法律
漳平市| 凤凰县| 河间市| 三台县| 潮安县| 忻城县| 门头沟区| 遂昌县| 内丘县| 临夏县| 尼勒克县| 固原市| 隆昌县| 界首市| 德格县| 怀宁县| 子长县| 新野县| 伊宁市| 左贡县| 扶绥县| 基隆市| 交城县| 长治市| 克山县| 深水埗区| 昭通市| 连南| 邛崃市| 卓尼县| 安徽省| 青海省| 灵宝市| 海宁市| 建瓯市| 永新县| 北海市| 固始县| 泰安市| 达拉特旗| 呼图壁县|