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