2219 |
統計同列儲存格中各區間數值數量-COUNT、OFFSET、SUMPRODUCT、COUNTIF、COLUMN函數 |
錦子老師您好:
小弟因為工作需求也GOOGLE很久,還是沒找到辦法解決,跪求圖片中黃色儲存格顯示的計算結果,不論是函數&公式&任何方法。
這個問題其實有些難度,首先要有下列一些狀況要注意,否則無法作業:
1.最後設定範圍的最後一個儲存格須為「/」。
2.超過統計數量的儲存格會自動填入0。
1、點取B8儲存格輸入公式:
=COUNT(OFFSET($A5,0,SUMPRODUCT(LARGE(($B5:$T5="/")*COLUMN($B5:$T5),COUNTIF($B5:$T5,"/")+3-COLUMN())),1,SUMPRODUCT(LARGE(($B5:$T5="/")*COLUMN($B5: $T5),COUNTIF($B5:$T5,"/")+2-COLUMN()))-SUMPRODUCT(LARGE(($B5:$T5="/")* COLUMN($B5:$T5),COUNTIF($B5:$T5,"/")+3-COLUMN()))))
再將公式複製到C8:E13及B15:E15儲存格。
【公式說明】
($B5:$T5="/") 以陣列方式顯示B5:T5間是否含有「/」字元的是(TRUE)與否(FALSE)值。
COLUMN($B5:$T5) 傳回B5:T5的欄編號。
COUNTIF($B5:$T5,"/") 統計B5:T5間含有「/」字元的儲存格數量。
LARGE(($B5:$T5="/")*COLUMN($B5:$T5),COUNTIF($B5:$T5,"/")+3-COLUMN())) 統計($B5:$T5="/")傳回的是(1)或否(0)乘以COLUMN($B5:$T5)傳回的欄編號,其中第N(COUNTIF ($B5:$T5,"/")統計的儲存格數量加3減掉目前的欄編號的值)大的值。
SUMPRODUCT(LARGE(($B5:$T5="/")*COLUMN($B5:$T5),COUNTIF($B5:$T5,"/")+3-COLUMN())) 將LARGE(($B5:$T5="/")*COLUMN($B5:$T5),COUNTIF($B5:$T5,"/")+3-COLUMN()))算出的值加總。
OFFSET($A5,0,SUMPRODUCT(LARGE(($B5:$T5="/")*COLUMN($B5:$T5),COUNTIF($B5: $T5,"/")+3-COLUMN())),1,SUMPRODUCT(LARGE(($B5:$T5="/")*COLUMN($B5:$T5), COUNTIF($B5:$T5,"/")+2-COLUMN()))-SUMPRODUCT(LARGE(($B5:$T5="/")*COLUMN ($B5:$T5),COUNTIF($B5:$T5,"/")+3-COLUMN())))
從A5儲存格移動0列及N(SUMPRODUCT (LARGE(($B5:$T5="/")*COLUMN($B5:$T5), COUNTIF($B5:$T5,"/")+3-COLUMN()))算出的值)欄,框選1列N(UMPRODUCT(LARGE (($B5:$T5="/")*COLUMN($B5:$T5),COUNTIF($B5: $T5,"/")+2-COLUMN()))-SUMPRODUCT (LARGE(($B5:$T5="/")*COLUMN($B5: $T5), COUNTIF ( $B5:$T5,"/")+3-COLUMN())))欄。
=COUNT(OFFSET($A5,0,SUMPRODUCT(LARGE(($B5:$T5="/")*COLUMN($B5:$T5),COUNTIF($B5:$T5,"/")+3-COLUMN())),1,SUMPRODUCT(LARGE(($B5:$T5="/")*COLUMN($B5: $T5),COUNTIF($B5:$T5,"/")+2-COLUMN()))-SUMPRODUCT(LARGE(($B5:$T5="/")* COLUMN($B5:$T5),COUNTIF($B5:$T5,"/")+3-COLUMN()))))
統計(OFFSET($A5,0, SUMPRODUCT(LARGE(($B5:$T5="/")*COLUMN($B5:$T5),COUNTIF ($B5:$T5,"/")+3-COLUMN())),1,SUMPRODUCT(LARGE(($B5:$T5="/")*COLUMN($B5:$T5), COUNTIF($B5: $T5,"/")+2-COLUMN()))-SUMPRODUCT(LARGE(($B5:$T5="/")*COLUMN ($B5:$T5), COUNTIF($B5:$T5,"/")+3-COLUMN()))))範圍內含有數值的儲存格數。
很感謝 提供的解答,真是太強了。
1、點取B8儲存格輸入公式:
=IFERROR(MATCH("/",OFFSET($A5,0,COLUMN(A8)+SUM($A8:A8),1,100),0)-1,COUNT (OFFSET($A5,0,COLUMN(A6)+SUM($A8:A8),1,100),0)-1)
一邊吃日本料理一邊寫。
留言列表