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) |
|
來自: 昵稱72339616 > 《待分類》