日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

LAMBDA連載(4)--Map實現(xiàn)函數(shù)內(nèi)部的循環(huán)迭代

 昵稱72339616 2024-04-23 發(fā)布于湖北

MAP:地圖,繪圖,映射

截止今日24.4.23 MAP函數(shù)僅能在office365中使用,wps預(yù)計在6月更新中可用!

很多場合中用映射來解釋函數(shù)MAP的功能,但我更愿意用“挨個執(zhí)行”來解釋它,正式一點可以說成遍歷,對應(yīng)VBA代碼中就是循環(huán)

=MAP(數(shù)組1,數(shù)組2或LAMBDA,數(shù)組2或LAMBDA,數(shù)組2或LAMBDA……)

MAP啟用的最后一個參數(shù)必定是LAMBDA表達(dá)式,在此之前都是數(shù)組。例如啟用了4個參數(shù),第4個是LAMBDA表達(dá)式,第1到第3個是數(shù)組。

先用一個簡單的案例說明MAP“挨個執(zhí)行”的特性。

給每一個銷量數(shù)據(jù)加上5,輸入簡單的數(shù)組公式即可實現(xiàn):

=C2:C12+5

改用MAP:

=MAP(C2:C12,LAMBDA(x,x+5))

兩個公式結(jié)果完全一致,計算過程則大相徑庭。

第一個公式各數(shù)組中的元素每個都加上5,一次性完成。

第二公式中MAP的第一參數(shù)是一個數(shù)據(jù)區(qū)域,它被傳遞給LAMBDA定義的參數(shù)x,此時

X=C2:C12

LAMBDA表達(dá)式x+5其實就等同于C2:C12+5,但這個計算并非一蹴而就,而是包含了11次計算:

第一次:C2+5

第二次:C3+5

第三次:C4+5

……

即對區(qū)域中的單元格挨個執(zhí)行加5的操作,最后又打包到一個數(shù)組中作為結(jié)果。

累加求和

再用一個更加直觀的案例來體現(xiàn)“挨個執(zhí)行”。

=MAP(C2:C12,LAMBDA(x,SUM(C1:x)))

公式中唯一的參數(shù)x等同于C2:C12,那么SUM(C1:x)等同于SUM(C1:C12).

同樣,SUM也是計算了11次,每次計算中C1是固定的,而x中的元素則是挨個執(zhí)行:

第一次:SUM(C1:C2)

第二次:SUM(C1:C3)

第三次:SUM(C1:C4)

……

查找第一個達(dá)成銷量目標(biāo)的人

LAMBDA系列函數(shù)更多用于創(chuàng)建數(shù)組支持較為復(fù)雜的運算,再用一個案例來說明。

要查找數(shù)據(jù)中第一個銷量超過300的姓名。

先用MAP結(jié)合SUMIF對每個人的銷量累加求和:

=MAP(B2:B12,C2:C12,LAMBDA(x,y,SUMIF(B1:x,x,C1:y)))

在此基礎(chǔ)上用XLOOKUP查找第一個超過300的姓名:

=XLOOKUP(TRUE,MAP(B2:B12,C2:C12,LAMBDA(x,y,SUMIF(B1:x,x,C1:y)))>300,B2:B12)

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多