新函數MAP來了,Excel進入函數式編程
當前位置:點晴教程→知識管理交流
→『 技術文檔交流 』
導讀 學習MAP函數,需了解數組。MAP將數組值通過LAMBDA計算,返回相同結果數組。可單雙參數,用于計算、累加求和、合并同類項等。編程式函數提高工作效率。 這一節我們來了解下MAP函數的使用方法,它是LAMBDA函數的輔助函數,所謂的輔助函數就意味,這個函數必須配合LAMBDA才能使用
一、了解數組概念
要學習LAMBDA的輔助函數,必須要了解數組這個概念,因為LAMBDA的輔助函數大多都是數字,結果會自動生成無需進行函數填充。
數組簡單來說就是由一串數字組成的數據,數組中的數字是一個整體,不可單獨刪除,關于數組我們需要明白他們的計算規則
數組與單個數字發生運算,是數組中的所有數字與這個數字逐個計算形成一個新數組
數組與數組發生計算,是數組中位置對應的數字計算,然后形成一個新的數組
數組之前有詳細講到過,在這里就不再贅述了,不明的大家可以搜下之前發的文章
![]() 二、MAP函數
MAP: 將數組中的每個值通過LAMBDA進行計算,得到與原數組相同的結果
語法:=MAP (array1, lambda_or_array<#>)
參數1:要映射的數組。
參數2:關于lambda的計算式
我們可以把這個函數簡單理解為映射,就好比當第一參數代入了4個數字,這4個數字會經過lambda的計算,再返回4個對應的結果,結果的位置跟個數與代入數字的位置與個數相互對應
![]() 三、單參數案例
公式:=MAP(A2:A6,LAMBDA(x,PI()*x^2))
參數1:A2:A6
參數2:LAMBDA(x,PI()*x^2)
這個函數的作用是計算圓的面積,在這里X就表示A2:A6這個區域,MAP會將這個區域的所有數據逐個代入LAMBDA返回對應的結果
![]() 四、雙參數案例
公式:=MAP(A3:A9,B3:B9,LAMBDA(x,y,x+y))
這個函數的作用是讓2個區域的數組相加,這個案例的關鍵是是要告訴大家,MAP是可以設置多個數據區域的,如果你在MAP設置了多個數據區域,就必須要在LAMBDA中定義對應的名稱。
在這里X就A3:A9。Y就表示B3:B9 ,表達式可以根據X與Y來隨意書寫
![]() 五、累加求和
公式:=MAP(C2:C8,LAMBDA(X,SUM(C2:X)))
這個公式是為了告訴大家,MAP它引用的是單元格為位置,是將單元格的位置代入到函數中進行計算的,而不是單元格中的值
如下圖,將C2:C8區域代入到MAP函數后,區域就會變為C2:C2,C2:C3, C2:C4單位依次增加從而達到累加求和的效果
![]() 六、合并同類項
公式:=VSTACK({"部門","姓名"},HSTACK(UNIQUE(C3:C13),MAP(UNIQUE(C3:C13),LAMBDA(x,TEXTJOIN("、",TRUE,FILTER(B3:B13,C3:C13=x))))))
使用這個公式,我們可以補借助輔助列,一步得到合并同類項的結果,公式雖然看起來挺復雜,但是理解起來并不難
1. 首先利用FILTER來篩選出班級對應的雖有姓名
2. 利用TEXTJOIN函數將班級所有的姓名都合并在一個單元格中
3. 使用MAP將部門逐個代入TEXTJOIN函數,
4. 利用HSTACK將部門添加到結果的左側
5. 使用VSTACK將表頭添加在結果上方
![]() 以上就是MAP函數函數的使用方法,以后會跟大家介紹更多的編程式函數,大家可以凍手練習一下,因為編程式函數確實有點費腦子。
該文章在 2025/2/18 10:21:41 編輯過 |
關鍵字查詢
相關文章
正在查詢... |