Excel開(kāi)發(fā)自定義函數(shù),就我所知,一共有三種方式:Lambda、VBA、C#。
一、Lambda(2021版本引進(jìn)來(lái)的最強(qiáng)大的函數(shù))
先來(lái)看Lambda,Lambda是Excel2021引進(jìn)來(lái)的特殊函數(shù),為什么說(shuō)特殊,因?yàn)樗荒苤苯邮褂?,需要先定義。請(qǐng)看演示圖:
演示片段演示了利用自定義名稱(chēng)自定義了lambda函數(shù)AddAAndB函數(shù),通過(guò)自定義名稱(chēng)即可調(diào)用函數(shù)計(jì)算,前面不限個(gè)數(shù)定義變量,最后一個(gè)參數(shù)定義運(yùn)算邏輯。演示中定義的函數(shù)比較簡(jiǎn)單,讓大家對(duì)lambda公式有個(gè)大概認(rèn)識(shí)。再來(lái)看一個(gè)演示:
演示中定義函數(shù)LVLookup,該函數(shù),將Vlookup函數(shù)的參數(shù)個(gè)數(shù)簡(jiǎn)化成2個(gè)參數(shù),僅查詢(xún)獲取查詢(xún)區(qū)域內(nèi)最后一列的數(shù)據(jù)。
總結(jié):Lambda支持函數(shù)嵌套,當(dāng)然,它也支持Let函數(shù),簡(jiǎn)直就像編程嘛!而且純粹是腳本,不需要進(jìn)過(guò)編譯?。?/p>
二、VBA(Alt F11可以快速打開(kāi)VBA開(kāi)發(fā)IDE環(huán)境)
VBA是微軟Office自帶VB開(kāi)發(fā)環(huán)境,經(jīng)常用于Excel開(kāi)發(fā)。VBA開(kāi)發(fā)自定義函數(shù)也并不復(fù)雜,1分鐘看完下面演示,你就能知道它的大致原理。
什么時(shí)候使用Lambda,什么時(shí)候使用VBA呢?可以用“包含”這個(gè)詞來(lái)理解,lambda能夠開(kāi)發(fā)的函數(shù),VBA基本上都能開(kāi)發(fā),但反過(guò)來(lái)卻不行,因?yàn)槊嫦驅(qū)ο蟮拈_(kāi)發(fā)不僅允許使用者獲取單元格的值,還能獲取單元格的顏色,行列高等其他屬性值。
三、C#開(kāi)發(fā)加載項(xiàng)
C#開(kāi)發(fā)自定義函數(shù)在某種程度更加方便部署,但是開(kāi)發(fā)需要用專(zhuān)用的IDE環(huán)境,即Visual Studio ,小編這里用Visual studio 2019版。下圖演示一下:
演示顯示在未定義函數(shù)前,敲出Cfun,報(bào)出名稱(chēng)錯(cuò)誤Code,然后調(diào)回Visual Studio對(duì)在插件工程對(duì)Cfun函數(shù)進(jìn)行定義,定義完后編譯(編譯這邊的時(shí)間我已跳過(guò),需要重啟Excel),之后再返回Excel就可以發(fā)現(xiàn)Cfun就可以正常使用了。
版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶(hù)自發(fā)貢獻(xiàn),該文觀(guān)點(diǎn)僅代表作者本人。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請(qǐng)發(fā)送郵件至 舉報(bào),一經(jīng)查實(shí),本站將立刻刪除。