close
關注【秋葉 Excel】👆發送【插件】

免費領 Excel 必備 4 大插件


作者:趙驕陽
編輯:嘉言

Hi,大家好,我是偏愛函數公式,愛用 Excel 圖表管理倉庫的大叔 Mr 趙~

今天和大家分享的是,Office365新增的一個函數:LAMBDA 函數。

這個函數可不簡單!

用 LAMBDA 函數,不僅可以編寫屬於自己的自定義函數,還能在函數中調用自身,也就是大家常說的遞歸~

下面就來看看它是怎麼做的。


現在關注【秋葉 Excel】
發送關鍵詞【模板】
免費領 100+ 實用表格模板!

👇👇👇



比如在 Excel 中,選中任一單元格,輸入公式:

=LAMBDA(x,y,x+y)(1,2)

得到的結果是 3。

這個公式是什麼意思呢?

在 LAMBDA 函數中,x,y 是我們自己定義的兩個變量,如下圖;

x+y 是計算的表達式;

公式中最後的(1,2)兩個數值分別賦值給 x,y;

即 x=1,y=2,然後把它們代入表達式 x+y 中,結果就是 3。

由此我們引出LAMBDA 函數的語法:

=LAMBDA(變量1,變量2,...,計算表達式)

如果還不明白,不要緊!

咱再舉個例子:

打小我們就知道,圓的面積公式是:S=πr^2

根據圓的半徑求面積,用 LAMBD 函數在 Excel 中寫公式就是這個樣子的:

在 C3 單元格輸入公式:

=LAMBDA(r,PI()*r^2)(B3)

LAMBDA 函數定義了一個變量 r 表示半徑;

PI()*r^2 是求面積的表達式,PI()在 Excel 中就是圓周率π,

後面 B3 單元格的值 1,賦值給變量 r=1,然後代入表達式 PI()*r^2 返回結果就是 3.14。

可能有小夥伴會說,直接輸入公式:

=PI()*B3^2

豈不更簡單?何必多此一舉,繞這個彎兒呢。

別着急!

我們試着把這個公式放到名稱管理器中:

首先在【名稱】中,給函數取一個名字,比如名為「S」,

然後在引用位置,輸入這個公式:

=LAMBDA(r,PI()*r^2)

再返回到工作表,輸入公式,下拉填充。

=S(B3)

效果如下圖:

瞧,一個簡單的自定義函數,就此誕生了!

哦~原來我們可以用 LAMBDA 函數,把公式打包到名稱管理器,然後就可以在整個工作薄中隨時調用這個自定義函數。

前面我們介紹了 LAMBDA 函數的基本用法,為了展示它的強大,再來舉個實例:

比如怎麼把下面框紅的、多行多列的數據,轉化成一列。

解決這個問題,只需要一個函數,框選區域就能搞定!

選中任意單元格,輸入如下公式:

=Array(A1:F3)

是不是很方便!

它又是怎麼做到的呢?

首先點擊名稱管理器,新建定義一個名稱為「Array」。

然後在引用位置輸入公式:

=LAMBDA(x,EVALUATE("{"""&TEXTJOIN(""";""",,x)&"""}"))

▲ 左右滑動查看

點擊【確定】。

👉公式解析:

❶ Lambda 定義一個變量為 x,表示需要轉化的區域;

❷ Textjoin 函數可以將區域的字符按指定的規則,連接成字符串,TEXTJOIN(""";""",,x)表示將需要轉化的區域,以分號連接起來,生成一串字符,然後外面加上一對大括號{};

❸ 用宏表函數 Evaluate 將上面的文本結果轉化成一個一維的垂直數組,來作為 Lambda 的第 2 參數返回結果的表達式。

這些複雜的運算就被 LAMBDA 函數打包在名稱管理器中,

而我們只需要輸入一個簡單的自定義函數 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,才停止調用。從而達到了數值累加的目的:

除此之外,Office365 還推出了一些新函數,專門和 LAMBDA 函數搭配使用。

比如MAKEARRAY函數,就可以和 LAMBDA 函數做九九乘法表。

在任一單元格,比如 B2,輸入如下公式:

=MAKEARRAY(9,9,LAMBDA(x,y,IF(x>=y,y&"x"&x&"="&x*y,"")))

▲ 左右滑動查看

然後用條件格式將不為空的單元格加上邊框。

效果如下圖:

MAKEARRAY 是生成一個 9 行 9 列的序列,通過 LAMBDA 設定的表達式來返回指定行和列大小的數組。

這樣,一份充滿愛的九九乘法口訣表,就可以當作心愛的禮物,送給親愛的小神獸了

當然,我所列舉的這些用法,還僅僅是 LAMBDA 函數應用的冰山一角,它還有更多功能,等着大家一起發現,一起探討!

❶ LAMBDA 函數把複雜的運算打包到了名稱管理器,然後我們只需要輸入自己定義的函數,就可以在表中方便重複使用;

❷ LAMBDA 函數還可以遞歸,調用本身;

❸ 它還可以和一些新出的函數,如 REDUCE、MAP、SCAN、BYROW、BYCOLUMN、MARKEARRAY 這些函數搭配使用,創造出更多神奇的應用。

如果這篇文章對你有幫助,請幫忙「點讚」「在看」「轉發」。

這對我很重要,能給我更多動力,持續分享優質的內容。


📑

秋葉家春季福利來襲——《3 天 Excel 集訓體驗營》
專為職場職場人設計,全部基於職場真實表格案例,手把手貼心教學~

提供工作效率,小白也能輕鬆學會,不願再為表格而加班的你,趕快行動起來吧!
《秋葉 Excel 3 天集訓營》
想提升,趁現在!福利名額 僅限前50
祝你不再被加班支配,不再為表格發愁!

免費贈送【35 個常用函數說明】哦!趕緊掃碼預約吧!👇👇👇

🎁

在公眾號【秋葉 Excel】
回復關鍵詞【禮包】
還能免費領辦公神器
Office 模板和免商字體!
↓↓↓
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 鑽石舞台 的頭像
    鑽石舞台

    鑽石舞台

    鑽石舞台 發表在 痞客邦 留言(0) 人氣()