總結:Excel 有一個新函數,允許我編寫自己的函數!
大家好,我是趙先生,一個喜歡函數公式、用Excel圖表管理倉庫的大叔~
今天要跟大家分享的是一個新功能:函數。
這個功能不簡單??!
有了函數,你不僅可以自己寫自定義函數,還可以在函數中調用自己,也就是我們常說的遞歸~
這是它是如何完成的。
現在關注【秋葉Excel】
發送關鍵詞[模板]
免費獲取100+實用表單模板!
例如,在 Excel 中,選擇任意單元格并輸入公式:
=LAMBDA(x,y,x+y)(1,2)
得到的結果是3。
這個公式是什么意思?
函數中,x和y是我們自己定義的兩個變量函數是什么意思,如下圖所示;
x+y為計算表達式;
公式中最后兩個值(1,2)分別賦給x,y;
即x=1,y=2,再代入表達式x+y,結果為3。
由此我們推導出函數的語法:
=LAMBDA(變量?1,變量?2,...,計算表達式)
如果你還是不明白,別擔心!
再舉一個例子:
我們從小就知道圓的面積公式是:S=πr^2
根據圓的半徑計算面積,用LAMBD函數在Excel中寫出公式如下:
在單元格 C3 中輸入公式:
=LAMBDA(r,PI()*r^2)(B3)
函數定義了一個變量r來表示半徑;
PI()*r^2是計算面積的表達式,PI()在Excel中就是pi,
將B3單元格中的值1賦給變量r=1,代入表達式PI()*r^2,結果為3.14。
可能有朋友會說,直接輸入公式:
=PI()*B3^2
不是更簡單嗎? 何必繞道而行。
不用擔心!
讓我們嘗試將此公式放入名稱管理器:
首先,在[Name]中函數是什么意思,給函數起一個名字,比如“S”,
然后在參考位置,輸入這個公式:
=LAMBDA(r,PI()*r^2)
返回工作表,輸入公式,下拉填寫。
=S(B3)
效果如下:
瞧,一個簡單的自定義函數誕生了!
哦~原來我們可以用函數將公式封裝到名稱管理器中,然后在整個工作簿中隨時調用這個自定義函數。
前面我們介紹了該函數的基本用法,為了展示它的強大,我們舉個例子:
比如下圖紅框中的數據,多行多列,如何轉化為一列。
解決這個問題,只需要一個函數,框選區域就可以搞定!
選擇任意單元格并輸入以下公式:
=Array(A1:F3)?
是不是很方便!
它是怎么做到的?
首先單擊名稱管理器,然后創建一個名稱為“Array”的新定義。
然后在引用的地方輸入公式:
=LAMBDA(x,EVALUATE("{"""&TEXTJOIN(""";""",,x)&"""}"))
▲ 左右滑動查看
單擊 [確定]。
配方分析:
? 定義一個變量為x,表示要轉換的面積;
? 該函數可以將區域內的字符按照指定的規則連接成字符串,(""";""",,x)表示將需要轉換的區域用分號連接起來,生成一串字符,然后加上最后一對花括號{};
? 使用宏表函數將上述文本結果轉換為一維垂直數組,并將其作為第二個參數的表達式返回結果。
這些復雜的操作通過函數封裝在名稱管理器中,
而我們只需要輸入一個簡單的自定義函數ARRAY,就可以了!
遞歸是指函數在運行過程中調用函數本身。
例如,求 1+2+3+……+98+99+100 的和。
在名稱管理器中,創建一個名為“CUSUM”的新定義。
然后在引用的地方輸入公式:
=LAMBDA(n,IF(n=1,1,n+CUSUM(n-1)))
看! 函數“CUSUM”在定義它的過程中調用自身,這就是遞歸。
返回工作表并在任意單元格中輸入公式:
=CUSUM(100)
結果神奇地出現了! 下圖中的B2單元格。
自定義函數“CUSUM”在循環中不斷調用自己,直到遇到條件n=1,然后停止調用。 從而達到數值累加的目的:
另外還引入了一些新的函數,專門和結合使用。
例如,可以用函數來制作九十九張帶函數的乘法表。
在任何單元格中,例如 B2,輸入以下公式:
=MAKEARRAY(9,9,LAMBDA(x,y,IF(x>=y,y&"x"&x&"="&x*y,"")))
▲ 左右滑動查看
然后使用條件格式為不為空的單元格添加邊框。
效果如下:
就是生成一個9行9列的序列,通過set表達式返回一個指定行列大小的數組。
這樣,一張充滿愛意的九十九條乘法口訣表,就可以作為送給親愛的小獸們的心愛禮物了
當然,我列出的用法只是功能應用的冰山一角,它還有更多的功能,等待大家一起發現和討論!
? 函數將復雜的計算打包到名稱管理器中,然后我們只需要輸入我們定義的函數,就可以輕松地在表中復用;
? 函數也可以遞歸調用自身;
? 它還可以與一些新發布的功能結合使用,例如,MAP、SCAN、BYROW,這些功能可以創建更多神奇的應用程序。
如果本文對您有幫助,請幫忙“點贊”、“觀看”、“轉發”。
這對我來說非常重要,它讓我更有動力繼續分享高質量的內容。
秋葉原春季福利來了——“3天Excel強化訓練體驗營”
專為職場人士打造,全部基于職場真實形態案例,手把手教學~
提高工作效率,小白輕松學會,不想為了表格加班,就趕緊行動吧!
《秋葉Excel 3天訓練營》
如果你想進步,現在就是時候了! 福利名額僅限前50名
愿你不再被加班所主宰,不再為表格而煩惱!
【35個常用功能說明】免費贈送! 掃描二維碼立即預約!
在公眾號【秋葉Excel】中