如果你還在復(fù)制粘貼Excel公式,或者為了復(fù)用一段邏輯把公式寫得像俄羅斯套娃,這篇就是寫給你的。
Excel有個被嚴重低估的功能叫LAMBDA。它能把你的公式變成可復(fù)用的自定義函數(shù),定義一次,到處調(diào)用。不用VBA,不用插件,純公式實現(xiàn)。
![]()
適用版本很具體:Microsoft 365(Win/Mac)、Excel 2024(Win/Mac)、網(wǎng)頁版Excel。老版本用戶可以先關(guān)了。
先說說它解決什么問題。日常用Excel的人都有這個體驗:同樣的計算邏輯,Sheet1寫一遍,Sheet2再寫一遍,改的時候漏掉一處,數(shù)據(jù)就對不上了。或者為了復(fù)用一段邏輯,把公式嵌套得越來越長,三個月后自己都不記得當時怎么想的。
LAMBDA的結(jié)構(gòu)很簡單:參數(shù)+計算邏輯。
寫法是=LAMBDA(參數(shù)1, 參數(shù)2, ..., 計算式)。比如=LAMBDA(x, x*2),x是占位符,后面?zhèn)魅胧裁粗担统艘?返回什么。
單獨寫這個公式會報錯,因為它只是"定義"了函數(shù),還沒"調(diào)用"。完整的用法是=LAMBDA(x, x*2)(A1),把A1的值傳進去,返回A1乘以2的結(jié)果。
更實用的做法是用"名稱管理器"給LAMBDA起個名字。比如把=LAMBDA(x, x*2)命名為"雙倍",之后在任何單元格直接寫=雙倍(A1)就能調(diào)用。復(fù)雜邏輯封裝成一句話,可讀性和可維護性都大幅提升。
一個實際場景:財務(wù)模型里經(jīng)常要算"含稅價/不含稅價"的轉(zhuǎn)換。以前每個單元格都要寫=A1*1.13或者=A1/1.13,稅率一變?nèi)酶摹S肔AMBDA封裝成=LAMBDA(價格, 稅率, 價格*(1+稅率)),命名為"含稅",之后=含稅(100, 0.13)直接出結(jié)果,稅率參數(shù)化,修改一處全局生效。
嵌套LAMBDA還能做遞歸。比如計算階乘:=LAMBDA(n, IF(n<=1, 1, n*階乘(n-1)))。Excel原生函數(shù)做不到的事,LAMBDA能做。
限制也有。參數(shù)最多253個,夠用但別濫用。命名函數(shù)不能覆蓋內(nèi)置函數(shù)名。以及最重要的一點:協(xié)作時對方如果不用支持LAMBDA的版本,會顯示為#NAME?錯誤。
這個功能2021年就推出了,但用的人不多。一部分原因是Excel用戶分層明顯——輕度用戶覺得沒必要學(xué),重度用戶直接上VBA或Python。但LAMBDA的定位很精準:比VBA輕量,比重復(fù)手寫公式可靠,特別適合中等復(fù)雜度、需要多人維護的模型。
如果你符合這幾個特征:公式超過100個字符是常態(tài)、同一個計算出現(xiàn)在3個以上地方、經(jīng)常需要別人接手你的文件,LAMBDA值得花20分鐘學(xué)會。
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.