LAMBDA函數(shù)讓Excel變成了圖靈完備的函數(shù)式編程平臺,它成功的補上了Excel函數(shù)體系的最后一塊磚。利用LAMBDA函數(shù)可以僅僅利用Excel函數(shù)就可以創(chuàng)建屬于你自己的自定義函數(shù)。
長久以來,Excel的函數(shù)體系都缺少自定義函數(shù)這一環(huán)節(jié)。傳統(tǒng)上,只能通過VBA來完成這一工作。但是VBA有比較高的門檻,而且在很多安全性要求較高的環(huán)境中,還會禁用VBA。
現(xiàn)在好了,Excel中推出了LAMBDA函數(shù),讓普通Excel用戶可以利用Excel函數(shù)本身就可以創(chuàng)建自定義函數(shù)了。
對于普通的Excel用戶來說,LAMBDA是一個很新的名詞。但是對于程序員來說,LAMBDA卻是一個很熟悉的概念。作為一種編程范式的函數(shù)式編程,LAMBDA表達式正是其核心概念。Excel中的LAMBDA函數(shù)就是LAMBDA表達式的具體實現(xiàn)。
微軟一直將Excel當(dāng)作一個函數(shù)式編程平臺,但是,只有在推出LAMBD函數(shù)后,Excel才真正成為一個圖靈完備的函數(shù)式編程平臺。
因此,微軟自己將LAMBDA函數(shù)稱為Excel的終極函數(shù)
LAMBDA函數(shù)的語法很簡單:
LAMBDA([para1, para2, ...,] calculation)
其中,
para1, para2, ..., - 都是可選參數(shù),它們只能是一些符號,就像是數(shù)學(xué)中的x,y等未知數(shù)一樣
calculation - 代表計算表達式,這是LAMBDA函數(shù)的主體,用來規(guī)定前面的參數(shù)如何進行計算,比如:x+y
例如:
=LAMBDA(x,y,x+y)
這個公式定義了一個自定義函數(shù),這個函數(shù)并沒有名字,僅僅就是一個表達式。為了敘述簡單,我們給它一個代號:f。
f有兩個參數(shù):x和y。f的返回值是x+y。
寫成數(shù)學(xué)中熟悉的寫法就是:
f(x,y)= x +y
我們可以像使用普通函數(shù)一樣使用這個函數(shù)f,比如:
f(5,10)
當(dāng)然,這里的f是我們給的虛擬代號,真正的使用必須將f換成LAMBDA公式:
=LAMBDA(x,y,x+y)(5,10)
這個公式返回結(jié)果是15。
也可以使用單元格作為參數(shù):
=LAMBDA(x,y,x+y)(A1,A2)
如果每次都是這么使用LAMBDA函數(shù),那就太麻煩了。所幸,我們可以真的給自定義函數(shù)起名,這里用的是Excel的名稱:
定義了名稱后,就可以像使用普通函數(shù)一樣使用自定義函數(shù)了:
使用LAMBDA函數(shù)自定義函數(shù)的最主要作用就是“復(fù)用”。如果有一個邏輯經(jīng)常用到,就可以做成自定義函數(shù),這樣在使用和維護時都比較簡單。
比如,將數(shù)字轉(zhuǎn)為中文大寫,可以使用下面的公式:
=SUBSTITUTE(SUBSTITUTE(TEXT(INT(A2),"[DBNum2][$-804]G/通用格式元"&IF(INT(A2)=A2,"整",""))&TEXT(MID(A2,FIND(".",A2&".0")+1,1),"[DBNum2][$-804]G/通用格式角")&TEXT(MID(A2,FIND(".",A2&".0")+2,1),"[DBNum2][$-804]G/通用格式分"),"零角","零"),"零分","")
這個公式很復(fù)雜。如果每次都寫這樣的公式,就會比較麻煩,也容易出錯。
我們可以創(chuàng)建自定義函數(shù):
CAPITAL_CH=lambda(
x, //小寫數(shù)字
SUBSTITUTE(SUBSTITUTE(TEXT(INT(x),"[DBNum2][$-804]G/通用格式元"&IF(INT(x)=x,"整",""))&TEXT(MID(x,FIND(".",x&".0")+1,1),"[DBNum2][$-804]G/通用格式角")&TEXT(MID(x,FIND(".",x&".0")+2,1),"[DBNum2][$-804]G/通用格式分"),"零角","零"),"零分","")
)
其實很簡單,在LAMBDA函數(shù)內(nèi)部還是使用同樣的邏輯,但是它被“封裝”在了自定義函數(shù)CAPITAL_CH中了,以后只要使用這個自定義函數(shù)就可以了:
詳細(xì)解釋請看視頻
這里介紹的是LAMBDA函數(shù)使用技巧,節(jié)選自新課程:
《Office 365中的自定義函數(shù)》
這門課程中詳細(xì)介紹了Office 365中自定義函數(shù)的方法和技巧。課程重點介紹LAMBDA函數(shù)及其伴侶函數(shù)的使用,使你的數(shù)據(jù)處理能力更上一層樓。
加入E學(xué)會,學(xué)習(xí)更多Excel應(yīng)用技巧
http://www.tropic.com.cn/portal/learn/class_list
Excel+Power Query+Power Pivot+Power BI
自定義函數(shù) 底部菜單:知識庫->自定義函數(shù)
面授培訓(xùn) 底部菜單:培訓(xùn)學(xué)習(xí)->面授培訓(xùn)
Excel企業(yè)應(yīng)用 底部菜單:企業(yè)應(yīng)用
也可以在歷史文章中學(xué)習(xí)Excel,Power Query,Power Pivot,Power BI,Power Automate各種技巧。
聯(lián)系客服