這次,我們繼續(xù)討論BYROW和BYCOL函數(shù)。 所謂明星產(chǎn)品就是每月中所有達(dá)標(biāo)的產(chǎn)品: 例如,如果將目標(biāo)定為4000,所有超過(guò)4000的都屬于明星產(chǎn)品。 從大的概念上,這個(gè)問(wèn)題跟判斷每月是否達(dá)標(biāo)好像是類(lèi)似的,都是判斷每月的數(shù)量。 在篩選達(dá)標(biāo)月份時(shí),我們使用了FILTER函數(shù)和BYCOL函數(shù)的結(jié)合: =FILTER(C2:N2,BYCOL(C3:N16,LAMBDA(c,SUM(c)))>C20) 但是,這里的問(wèn)題卻是截然不同的。 因?yàn)?,我們需要找多種產(chǎn)品,并且連接成為一個(gè)字符串返回: a,c,d,i,j,n 所以,我們需要換一個(gè)思路。 如果我們將目標(biāo)放在一列,比如,1月: 顯然,我們可以通過(guò)篩選得到所有達(dá)標(biāo)產(chǎn)品, =FILTER(B3:C16,C3:C16>C19) 這個(gè)公式也可以寫(xiě)成: =FILTER(B3:B16,C3:C16>C19) 就可以得到產(chǎn)品名稱(chēng)了。 將這個(gè)公式與TEXTJOIN函數(shù)結(jié)合使用: =TEXTJOIN(",",TRUE,FILTER(B3:B16,C3:C16>C19)) 這是對(duì)于一列的情況,對(duì)于多列的情況呢?對(duì)于多列,當(dāng)然要逐列完成了。而逐列完成就需要BYCOL函數(shù)出馬了。 =BYCOL( C3:N16, LAMBDA(c, TEXTJOIN(",", TRUE, FILTER(B3:B16, c>C19) ) )) 這就是BYCOL函數(shù)的本意。其中LAMBDA函數(shù)中的c就是數(shù)據(jù)中的每一列。 將問(wèn)題轉(zhuǎn)個(gè)90度??,看看如何得到各產(chǎn)品銷(xiāo)量最大的月份: 我們可以進(jìn)行同樣的分析: 我們肯定可以找出每行當(dāng)中銷(xiāo)量最大的月份: =FILTER(C2:N2,C3:N3=MAX(C3:N3)) 那么只要通過(guò)BYROW函數(shù)逐行循環(huán),然后將上面公式中的C3:N3用循環(huán)變量r替換即可: =BYROW(C3:N16,LAMBDA(r,FILTER(C2:N2,r=MAX(r)))) 一切都是那么簡(jiǎn)單! 詳細(xì)解釋請(qǐng)看視頻 |
|
來(lái)自: ExcelEasy > 《待分類(lèi)》