今天的內容對於不熟悉新函數用法的同學至關重要,你將學習一個全新自定義函數套路,同學們一定要耐心看完,注意收藏保存。
在新增函數中,有一個看上去沒什麼用的冷門函數Byrow,其實它是一個超強的批量運算函數,今天就總結一下這個函數的用法。
先看函數說明:
將lambda函數應用於每一行並返回結果的數組
是不是一頭霧水的感覺。再看語法:
=BYROW(數組,[函數])
估計更看不明白,嘿嘿,還是從實例開始學吧。
1~6月的銷售表格
現在需要獲取每個人的銷售總和,第1個參數選取區域後,第2個參數會出現很多函數名稱。
如果你想求和就用SUM,就可以得到每一行的匯總數
=BYROW(B2:G4,SUM)
如果想計算最大值就用MAX
估計很多同學瞬間理解了=byrow(數組,函數)的語法結構。但好象又沒完全明白,以前寫公式函數都是要帶括號的,為什麼在byrow里不需要?
細心的同學可能會發現,這些可以省略函數都有同樣的特徵,只需要一個參數就可以運算。而不帶括號恰是簡寫方式。
完整的方式什麼樣,這就要回頭看看函數說明:
將lambda函數應用於每一行並返回結果的數組
在新函數公式中,橫空出世一個超強大的自定義函數lambda,它不僅可以通過定義名稱製作自定義函數,也可以用在很多函數的參數里。它的語法結構是:
=LAMBDA(參數1,參數2,..運算表達式)
本例中在BYROW中SUM用完全體,公式應該是這樣的。
=BYROW(B2:G4,LAMBDA(X,SUM(x)))
其中,X是lambda自定義函數的參數,它把B2:G4的每一行值傳遞到sum(x)里進行運算。
這麼複雜,還是簡寫方便。嘿嘿,不是所有函數都只需一個參數的。舉個例子。
現在需要把各個月份的數字用-連接起來。由於textjoin需要多個參數,所以就需要用lambda了。
=BYROW(B2:G4,LAMBDA(x,TEXTJOIN("-",,x)))
對於新手來說,理解這個結構有點難,但也至關重要,因為新增的函數中有很多需要和lambda函數配合。
你是不是還有一個疑問,明明複製公式就完成的簡寫公式,為什麼要用byrow函數批量生成。還是看一個實用的例子吧。
下表中在I2輸入下面公式就可以生成一個最大銷售排名。當然你也可以生成合計、平均值排名表。
=SORT(HSTACK(A2:A7,BYROW(B2:G7,MAX)),2,-1)
公式說明:hstack是橫向合併兩個表格,SORT是排序函數
逐行運算生成數組,一直是函數運算的難點,有了byrow就可以輕鬆解決這個問題。這也是你函數晉級路上必須邁過的坎。
原創文章,作者:簡單一點,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/251452.html