返回列表 上一主題 發帖

[發問] COUNTIFS統計複數條件問題

[發問] COUNTIFS統計複數條件問題

擷取.PNG
2016-6-3 23:47


想請教一下為何C7公式統計結果有問題?是否COUNTIFS無法統計複數條件?
雖然小妹知道另一個SUMPRODUCT公式可解決複數條件統計問題,但公司資料檔約有4萬筆資料時,發現使用SUMPRODUCT運算速度較慢也較久
所以才打算改用COUNTIFS公式∼∼∼∼

求解???

測試.rar (24.94 KB)
*宅女一枚無誤*

回復 1# msmplay


    =SUM(COUNTIFS(A:A,{"換貨";"*DOA*"},B:B,{"*無法開機*","*豎線*","*橫線*"},C:C,"門市"))

TOP

本帖最後由 hcm19522 於 2016-6-4 17:56 編輯

輔助 D2 下拉=IF(((A2="換貨")+COUNTIF(A2,"*DOA*"))*MMULT(ISNUMBER(FIND({"無法開機","豎線","橫線"},B2))*1,{1;1;1})*(C2="門市")>0,1,)
E7=SUM(D:D)
設輔助 資料多 應速度快

TOP

本帖最後由 msmplay 於 2016-6-4 20:28 編輯

回復 2# KCC

K大~~~~超級感謝您,測試可行喔!!!但小妹可以再請教一下2個問題嗎??
就是{"換貨";"*DOA*"}<<中間的 , 改 ; 是什麼原理丫!?因為我查函數說明好像也沒醬的用法耶!!

然後如果連C欄也需要多條件統計的話,是不是就不適用以上用法??

例如:C欄來源未來不只有"門市"與"網路"時,可能有多個來源,但C欄只需統計"門市"與"網路",公式修改如下卻無法統計正確數字

=SUM(COUNTIFS(A:A,{"換貨";"*DOA*"},B:B,{"*無法開機*","*豎線*","*橫線*"},C:C,{"門市";"網路"}))

擷取.PNG
2016-6-4 20:27

*宅女一枚無誤*

TOP

回復 3# hcm19522

h大~~~也非常感謝您的熱心幫忙唷!!
*宅女一枚無誤*

TOP

回復 5# msmplay
我也發現 "," 與 ";" 不解其意 但二邊 "," 與 ";" 對調 亦可行 靜待 KCC大賜教

TOP

本帖最後由 KCC 於 2016-6-4 22:03 編輯

回復 4# msmplay


    這算是excel陣列運算的特性吧,我的理解大致如下
   {1,1} 是水平陣列 {1;1}是垂直陣列 相乘會變 {1,1;1,1},SUM之後是4
   如果都是水平陣列 {1,1}*{1,1}={1,1}, sum之後為2
   
   以這觀念類推妳所要算的
   如果是逗號,{"換貨";"*DOA*"} {"*無法開機*","*豎線*","*橫線*"} 兩陣列都是水平,會變成求  ("換貨","*無法開機*","門市"), ("*DOA*","*豎線*","門市") ,("" ,"*橫線*","門市") 三組條件
   換成 分號,就會變成 一個 2*3的陣列(反之就變成3*2陣列) =>  ("換貨","*無法開機*","門市") ("*DOA*","*無法開機*","門市), ....................共六組條件

   至於妳的第二個問題,如果再把第三維度(門市、網路...)擴充,對多維度參照之類的敝人一直沒搞得很清楚,目前無法幫得上忙,拍謝。

   另外,h兄用的mmult,用的好的話速度會快很多,也可多參考。

TOP

抱歉,剛發現寫錯了

如果是逗號,{"換貨","*DOA*"} {"*無法開機*","*豎線*","*橫線*"} 兩陣列都是水平
原文已超過修改時限,在這裡更正

TOP

回復 6# hcm19522

h大~~您提供的方法我到公司再測試看看,非常感謝喔!!
*宅女一枚無誤*

TOP

回復 7# KCC

原來如此丫~~~~~小妹今天又多上了一課,也非常感謝您喔K大!!!!
*宅女一枚無誤*

TOP

        靜思自在 : 成功是優點的發揮,失敗是缺點的累積。
返回列表 上一主題