必須要搞清楚LET函數和LAMBDA函數的核心區別
當前位置:點晴教程→知識管理交流
→『 技術文檔交流 』
在B站的相關視頻中,我經常看到有人在留言區提及LAMBDA函數與LET函數并無差異。而他們之所以會得出這樣的結論,我想主要是因為講解者往往采用了類似如下的案例來予以闡述: =LET(x,2,y,3,x+y) 結果為5,沒毛病。 =LAMBDA(x,y,x+y)(2,3) 結果同樣為5,也沒毛病。 這時有人就說了,確實沒有什么大的區別呀,只不過是LET函數將變量的值置于括號內部,而LAMBDA函數把變量的值放置在括號之外罷了。 看到這里,我不得不重點說明一下,如果您真的如此理解,那可大錯特錯了。上面所舉的例子僅僅只是LAMBDA函數的基礎效用罷了。換言之,LAMBDA函數雖具備這樣的功能,然而在實際運用場景里卻很少這樣用。 LAMBDA函數最為關鍵之處在于其自定義特性,它能夠與其他函數協同配合,并且可以有效地化解傳遞參數方面的難題。這一點您務必要清晰知曉,否則您想要熟練掌握EXCEL的新型函數將會困難重重。 常常會與LAMBDA函數協同運用的函數包括MAP、REDUCE、SCAN、BYROW、BYCOL、MAKEARRAY等函數。可以說,這些函數堪稱是LAMBDA函數的專屬得力助手,它們彼此配合,相得益彰,能夠在眾多復雜的數據處理與計算情境中發揮出強大的效能,助力用戶更為高效、精準地達成各類任務目標,極大地拓展了Excel在數據處理領域的深度與廣度,為使用者提供了更為豐富多樣且靈活多變的解決方案。 為了清晰闡釋此問題,我們選取一個相對簡易的案例加以說明: =BYROW(B2:G9,LAMBDA(x,AVERAGE(x))) 此案例在之前講解BYROW函數時也曾提及,即按行求取平均值。 仔細研究上述公式后,我們便能察覺出三個關鍵問題: 第一,在實際運用LAMBDA函數求平均值的場景中,并非如部分人所誤解的那樣將變量的值置于括號之外,恰恰相反,此處括號外面并無任何內容。 第二,單元格區域[B2:G9]的每一行均借助BYROW函數傳遞至LAMBDA函數的變量x里,進而開展AVERAGE計算操作,隨后直接輸出相應的計算結果。瞧見了吧,此即為典型的傳遞參數過程。 其三,此刻若我們嘗試使用LET函數去替換上述公式里的LAMBDA函數,也就是: =BYROW(B2:G9,LET(x,AVERAGE(x))) 那么,在此情形下,單元格區域[B2:G9]的每一行是否能夠順利傳遞至LET函數的x之中呢?又是否能夠最終成功計算得出每行的平均值呢?很顯然,答案是這兩者都是否定的。它既不能傳遞參數,也不能計算平均值。 看見沒有,系統直接將=BYROW(B2:G9,LET(x,AVERAGE(x)))這個所謂的公式視作文本處理了。既然已被當作文本,又何談函數的功能,何談進行計算呢?! 談及此處,或許有人又會萌生這樣的念頭,即認為LET函數無法進行嵌套操作。實則不然,LET函數主要致力于解決變量設置方面的問題,簡單來講,其核心作用在于簡化公式。 例如下面這個計算含稅總額的案例便運用了LET函數嵌套:
上面的公式雖然寫得很長,但是其復雜程度卻并不高。與之相反,該公式的邏輯條理更為明晰,更易于理解與領會。 該文章在 2024/12/9 14:19:06 編輯過 |
關鍵字查詢
相關文章
正在查詢... |