小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

LAMBDA連載(2)--BYROW,BYCOL實現(xiàn)函數(shù)里的循環(huán)

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


函數(shù)+VBA

英文單詞row和column翻譯為行和列,Excel/WPS中也是用它們表示行和列。

函數(shù)BYROW=By row,字面意思按行,函數(shù)的功能就是按行執(zhí)行(LAMBDA);

=BYROW (數(shù)組, lambda())

函數(shù)BYCOL=By Column,字面意思按列,函數(shù)功能就是按列執(zhí)行(LAMBDA)。

=BYCOL (數(shù)組, lambda())

注意,它們的第二參數(shù)一定是一個LAMBDA函數(shù)應(yīng)用表達(dá)式。

這是一個平平無奇的求和公式,對A1:E6求和:

=SUM(A1:E6)

用LAMBDA改進(jìn):

=LAMBDA(x,SUM(x))(A1:E6)

LAMBDA定義了一個參數(shù)x,定義了一個計算,對x求和,最后將A1:E6傳遞給x,最終效果就是對A1:E6求和

上述公式的外面包一個BYROW:

=BYROW(A1:E6,LAMBDA(x,SUM(x)))

第一參數(shù)A1:E6是要參與運算的數(shù)組,第二參數(shù)是LAMBDA表達(dá)式。

LAMBDA的參數(shù)和計算定義不變,A1:E6被傳遞給x作為SUM的求和對象,不同的是BYROW會讓LAMBDA按行執(zhí)行求和,每行都會產(chǎn)生一個求和結(jié)果,最終形成一個數(shù)組返回。

改為BYCOL則按列執(zhí)行求和:

=BYCOL(A1:E6,LAMBDA(x,SUM(x)))

案例:提取平均數(shù)據(jù)前三名

=TAKE(SORTBY(A2:D8,BYROW(B2:D8,LAMBDA(x,AVERAGE(x))),-1),3)

其中BYROW+LAMBDA+AVERAGE組合部分實現(xiàn)按行統(tǒng)計平均值,返回一個數(shù)組作為SORTBY排序的依據(jù),排序后用TAKE提取前三。

案例:合并文本

=TEXTJOIN(CHAR(10),1,BYROW(A2:C8,LAMBDA(x,TEXTJOIN(",",1,x))))

BYROW+LAMBDA+TEXTJOIN部分實現(xiàn)按行合并文本,外層TEXTJOIN在此基礎(chǔ)上再次合并,以換行符間隔。

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

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多