欧美日韩国产一区二区|qovd片|小明个人发布看看|小浪货你夹真紧水又多|老头把我添高潮了A片故|99热久久精品国产一区二区|久久久春色AV

LAMBDA函數(shù)賢內助SCAN函數(shù)會用了嗎 如何使用lambda函數(shù)


LAMBDA函數(shù)賢內助SCAN函數(shù)會用了嗎 如何使用lambda函數(shù)

文章插圖
HI,大家好,我是星光 。今天給大家聊SCAN 。
這貨的基本語法如下:
=SCAN(初始值,數(shù)據源,LAMBDA(參數(shù)1,參數(shù)2,計算方式))
它可以遍歷數(shù)據源的每一個數(shù)據,根據計算方式,返回一個與數(shù)據源尺寸相等的數(shù)組 。
舉三個常見的用法小栗子 。
1 填充空值
如下圖所示,A列存在合并單元格,現(xiàn)在需要創(chuàng)建一個內存數(shù)組,將A列的數(shù)據填充完整
LAMBDA函數(shù)賢內助SCAN函數(shù)會用了嗎 如何使用lambda函數(shù)

文章插圖
——既然你已經學到SCAN,函數(shù)段位起碼也是星耀Ⅴ了,就別問我這個問題為什么用內存數(shù)組,而不是基礎操作或者輔助列了 。
SCAN函數(shù)解法參考如下:
公式看不全可以左右拖動..
=SCAN("",A1:A12,LAMBDA(_a,_b,IF(_b="",_a,_b)))
LAMBDA函數(shù)賢內助SCAN函數(shù)會用了嗎 如何使用lambda函數(shù)

文章插圖
第1參數(shù)是初始值,第2參數(shù)是數(shù)據源A1:A12,第3參數(shù)是一個LAMBDA表達式 , 它又有3個參數(shù),前兩個參數(shù)分別被命名為_a和_b,其中_a指向初始值,_b指向數(shù)據源的迭代元素 , 第3個參數(shù)是一條IF函數(shù)
IF(_b="",_a,_b)
IF函數(shù)的意思是如果計算元素_b為空,則返回初始值_a,否則返回_b自身 。
SCAN遍歷數(shù)據源的每個元素,并執(zhí)行LAMBDA計算,整個公式的計算過程如下▼
第1次先計算A1單元格的值 , 此時初始值_a為空,_b指向A1單元格,值為"姓名" 。_b不等于空,IF表達式返回_b自身 , SCAN將計算結果作為新的初始值 。初始值_a也就變成了"姓名" 。
LAMBDA函數(shù)賢內助SCAN函數(shù)會用了嗎 如何使用lambda函數(shù)

文章插圖
第2次計算A2單元格的值,此時_b指向A2單元格,值為"看見星光",它不等于空,IF表達式返回_b自身 , SCAN將計算結果作為新的初始值 。初始值_a就變成了"看見星光" 。
LAMBDA函數(shù)賢內助SCAN函數(shù)會用了嗎 如何使用lambda函數(shù)

文章插圖
第3次計算A3單元格的值,此時_b指向A3單元格,值為空,它等于空,IF表達式返回初始值_a , SCAN將計算結果作為新的初始值 。初始值_a依然是"看見星光" 。
LAMBDA函數(shù)賢內助SCAN函數(shù)會用了嗎 如何使用lambda函數(shù)

文章插圖
第4次計算A4單元格的值 , 此時_b指向A4單元格,值為空,IF表達式返回初始值_a,SCAN將計算結果作為新的初始值 。初始值_a還是"看見星光" 。
LAMBDA函數(shù)賢內助SCAN函數(shù)會用了嗎 如何使用lambda函數(shù)

文章插圖
……
其余以此類推,把每個元素遍歷完成后,將計算結果以數(shù)組的形式返回 。
在各種親疏關系不同的場合里我們都講過,工作表新函數(shù)正在加速向編程語言轉換,學習這類新函數(shù),多少都需要一點編程的循環(huán)思維 。如果你學過VBA又或者其它編程語言,再看這類新函數(shù)應該簡單很多 , 畢竟它們只是一類被封裝好的基礎循環(huán)語句 。
SCAN函數(shù)不但支持引用,也支持數(shù)組,不但支持查詢 , 也支持聚合等計算方式 。
2 累加求和
如下圖所示,需要將A列的數(shù)據按B列的指定次數(shù)重復,D列為模擬結果 。
(星光老師的原圖有公眾號二維碼 , 但是頭條號里不允許,那就不好意思了……)
LAMBDA函數(shù)賢內助SCAN函數(shù)會用了嗎 如何使用lambda函數(shù)

文章插圖
這題函數(shù)解法有十幾種 , 其中涉及到SCAN函數(shù)的解法參考如下:
=XLOOKUP(
SEQUENCE(SUM(B2:B5)), SCAN(0,B2:B5,LAMBDA(_a,_b,_a _b)), A2:A5, "",1,-1)

相關經驗推薦