【Excel】未來5年你必須要掌握的函數之6:BYROW/BYCOL函數
當前位置:點晴教程→知識管理交流
→『 技術文檔交流 』
BYROW/BYCOL也是一對函數,所以我們放在一起說。其中,ROW 所表達的含義為 “行”,而 COL 乃是 COLUMN 的縮寫形式,其意思是 “列”。具體而言,BYROW 函數的功能是依照行的維度,遍歷每一行的數據;而BYCOL函數則是按照列的方向,遍歷每一列的數據。 首先需要說明的是,BYROW/BYCOL函數屬于名副其實的編程函數,它們是 LAMBDA 函數所特有的輔助函數,在編程函數體系中占據著極為重要的地位。盡管相較于前面所說的 FILTER/SORT 函數而言,其理解難度確實有所提升,然而多加練習,很快就會掌握的。 微軟引入BYROW/BYCOL 函數,主要目的在于解決遍歷行與列的難題。在過去,此類問題往往需要在 VBA 環境中借助 FOR 循環方能得以解決。而如今,僅需將其與 LAMBDA 函數相結合,便能輕松應對。這一舉措顯著降低了編程的準入門檻,有力地推動了用戶工作效率的提升以及數據分析質量的提高。如此一來,用戶得以將更多的精力聚焦于數據本身所蘊含的意義與價值,而無需過度糾結于數據處理過程中的繁雜技術細節,從而使數據處理工作更加高效、便捷且富有成效。 基本語法: BYROW(array, LAMBDA(row, expression)) 將LAMBDA函數應用于array的每一行并返回結果的數組。 BYCOL(array, LAMBDA(col, expression)) 將LAMBDA函數應用于array的每一列并返回結果的數組。 基本用法: 1、統計每名業務員的平均銷售量 =BYROW(B2:L9,LAMBDA(x,AVERAGE(x))) 怎么理解上面這個公式呢? 外面的BYROW函數會遍歷[B2:L9]中的每一行,然后把該行的數據傳遞給里面LAMBDA函數的x變量,最后利用LAMBDA函數的計算式AVERAGE(x)計算出每一行數據的平均值。 2、統計每個月份的平均銷售量 =BYCOL(B2:L9,LAMBDA(x,AVERAGE(x))) 這個公式的理解和上面的類似,只不過是遍歷每一列。 3、統計每名業務員最高銷售量的平均值 說到這兒,可能不少人會覺得這個 BYRWOW/BYCOL 函數似乎并沒有太大的用處呀。畢竟,像前面提到的按行以及按列求平均值的操作,直接使用 AVERARGE 函數就能夠輕松實現了呀。 但實際上呢,BYRWOW/BYCOL函數的優勢并非在于利用它直接得出最終的結果,而是在于將它當作一個中間結果來運用。 舉個例子來說吧,假如要計算出每個人的最高銷售量的平均值,要是采用傳統的方法,那我們首先得運用 MAX 函數去求出每一行當中的最大值,之后再通過 AVERAGE 函數來算出這些最大值的平均值。在這個過程中,要么就得借助輔助列來完成相關計算,要么就得使用那種較為復雜的嵌套函數才能解決問題。 倘若在這個時候能夠利用BYROW 函數的話,那整個操作過程可就要簡單得多啦。 =AVERAGE(BYROW(B2:L9,LAMBDA(x,MAX(x)))) 4、統計平均銷售量大于400的業務員 =FILTER(A2:A9,BYROW(B2:L9,LAMBDA(x,AVERAGE(x)))>400) 在這里呀,就將 FILTER、BYROW 以及 LAMBDA 這三個函數聯合起來一同加以運用了。 5、統計平均銷售量大于400的月份 =FILTER(B1:L1,BYCOL(B2:L9,LAMBDA(x,AVERAGE(x)))>400) 后面的兩個實例在復雜度上略有提升,其內部一共嵌套了 4 個函數。對于其中的邏輯與精妙之處,需要靜下心來,逐步深入地去領悟體會。 該文章在 2024/11/26 12:24:41 編輯過 |
關鍵字查詢
相關文章
正在查詢... |