免費領 Excel 必備 4 大插件


Hi,大家好,我是偏愛函數公式,愛用 Excel 圖表管理倉庫的大叔 Mr 趙~
今天和大家分享的是,Office365新增的一個函數:LAMBDA 函數。
這個函數可不簡單!
用 LAMBDA 函數,不僅可以編寫屬於自己的自定義函數,還能在函數中調用自身,也就是大家常說的遞歸~
下面就來看看它是怎麼做的。
👇👇👇

比如在 Excel 中,選中任一單元格,輸入公式:
得到的結果是 3。
這個公式是什麼意思呢?
在 LAMBDA 函數中,x,y 是我們自己定義的兩個變量,如下圖;
x+y 是計算的表達式;
公式中最後的(1,2)兩個數值分別賦值給 x,y;
即 x=1,y=2,然後把它們代入表達式 x+y 中,結果就是 3。
由此我們引出LAMBDA 函數的語法:
如果還不明白,不要緊!
咱再舉個例子:
打小我們就知道,圓的面積公式是:S=πr^2
根據圓的半徑求面積,用 LAMBD 函數在 Excel 中寫公式就是這個樣子的:
在 C3 單元格輸入公式:
LAMBDA 函數定義了一個變量 r 表示半徑;
PI()*r^2 是求面積的表達式,PI()在 Excel 中就是圓周率π,
後面 B3 單元格的值 1,賦值給變量 r=1,然後代入表達式 PI()*r^2 返回結果就是 3.14。
可能有小夥伴會說,直接輸入公式:
豈不更簡單?何必多此一舉,繞這個彎兒呢。
別着急!
我們試着把這個公式放到名稱管理器中:
首先在【名稱】中,給函數取一個名字,比如名為「S」,
然後在引用位置,輸入這個公式:
再返回到工作表,輸入公式,下拉填充。
效果如下圖:
瞧,一個簡單的自定義函數,就此誕生了!
哦~原來我們可以用 LAMBDA 函數,把公式打包到名稱管理器,然後就可以在整個工作薄中隨時調用這個自定義函數。

前面我們介紹了 LAMBDA 函數的基本用法,為了展示它的強大,再來舉個實例:
比如怎麼把下面框紅的、多行多列的數據,轉化成一列。
解決這個問題,只需要一個函數,框選區域就能搞定!
選中任意單元格,輸入如下公式:
是不是很方便!
它又是怎麼做到的呢?
首先點擊名稱管理器,新建定義一個名稱為「Array」。
然後在引用位置輸入公式:
▲ 左右滑動查看
點擊【確定】。
👉公式解析:
❶ Lambda 定義一個變量為 x,表示需要轉化的區域;
❷ Textjoin 函數可以將區域的字符按指定的規則,連接成字符串,TEXTJOIN(""";""",,x)表示將需要轉化的區域,以分號連接起來,生成一串字符,然後外面加上一對大括號{};
❸ 用宏表函數 Evaluate 將上面的文本結果轉化成一個一維的垂直數組,來作為 Lambda 的第 2 參數返回結果的表達式。
這些複雜的運算就被 LAMBDA 函數打包在名稱管理器中,
而我們只需要輸入一個簡單的自定義函數 ARRAY,就可以了!

遞歸,就是函數在運算的過程中,調用函數本身。
比如求 1+2+3+......+98+99+100 的和。
在名稱管理器中,新建定義一個名稱為「CUSUM」。
然後在引用位置輸入公式:
瞧!函數「CUSUM」,在定義它的過程中調用了自己,這個就是遞歸。
返回工作表,在任一單元格輸入公式:
結果就神奇地出現了!如下圖 B2 單元格。
自定義函數「CUSUM」不斷循環調用自己,直到碰到條件 n=1,才停止調用。從而達到了數值累加的目的:
除此之外,Office365 還推出了一些新函數,專門和 LAMBDA 函數搭配使用。
比如MAKEARRAY函數,就可以和 LAMBDA 函數做九九乘法表。
在任一單元格,比如 B2,輸入如下公式:
▲ 左右滑動查看
然後用條件格式將不為空的單元格加上邊框。
效果如下圖:
MAKEARRAY 是生成一個 9 行 9 列的序列,通過 LAMBDA 設定的表達式來返回指定行和列大小的數組。
這樣,一份充滿愛的九九乘法口訣表,就可以當作心愛的禮物,送給親愛的小神獸了
當然,我所列舉的這些用法,還僅僅是 LAMBDA 函數應用的冰山一角,它還有更多功能,等着大家一起發現,一起探討!

❶ LAMBDA 函數把複雜的運算打包到了名稱管理器,然後我們只需要輸入自己定義的函數,就可以在表中方便重複使用;
❷ LAMBDA 函數還可以遞歸,調用本身;
❸ 它還可以和一些新出的函數,如 REDUCE、MAP、SCAN、BYROW、BYCOLUMN、MARKEARRAY 這些函數搭配使用,創造出更多神奇的應用。
如果這篇文章對你有幫助,請幫忙「點讚」「在看」「轉發」。
這對我很重要,能給我更多動力,持續分享優質的內容。

🎁
