Board logo

標題: [發問]請問:符合A欄條件,加總B欄之不重複值的項目個數 [打印本頁]

作者: huangwed    時間: 2013-11-20 14:45     標題: [發問]請問:符合A欄條件,加總B欄之不重複值的項目個數

如果我想設條件"等級"為A,就加總"品名"中的不重複項目個數,
(由於品名會不斷變動與新增,故不能以固定某品名來計算)
請問該使用何種函數運算?
希望能不使用VBA與陣列公式,謝謝!
[attach]16801[/attach]
作者: aer    時間: 2013-11-20 20:36

本帖最後由 aer 於 2013-11-20 20:38 編輯

回復 1# huangwed
  1. =SUMPRODUCT((C2:C15="A")*(1/COUNTIF(D2:D15,D2:D15)))
複製代碼

作者: huangwed    時間: 2013-11-20 21:04

回復 2# aer

啊,我真是糊塗,把這個想得太複雜了!
萬分感謝~感謝萬分~
作者: p212    時間: 2013-11-21 09:32

本帖最後由 p212 於 2013-11-21 09:38 編輯

回復 2# aer
承1#發問圖示狀況
若C14儲存格變更為A(D14儲存格品名仍為橘子),以SUMPRODUCT((C2:C15="A")*(1/COUNTIF(D2:D15,D2:D15)))計算後其答案不為4。
請教aer大,就您提供的組合公式而言應如何修改?
謝謝賜教!
作者: ML089    時間: 2013-11-21 09:49

回復 3# huangwed


請注意! 2樓公式使用是有限制的,只能在各等級間項目不能重複。
例如 全部改為 香蕉 時,答案是0.375
作者: ML089    時間: 2013-11-21 09:51

回復 1# huangwed


這是陣列方式 =COUNT(0/(MATCH("A"&D2:D15,C2:C15&D2:D15,)=ROW(1:14)))

非陣列方式等中午有空再想看看
作者: handsometrowa    時間: 2013-11-21 10:40

回復 2# aer


請問能否幫我解釋一下這段

(1/COUNTIF(D2:D15,D2:D15)))  為什麼這第二個陣列裡面  要先用 1  除 後面那排

另外  COUNTIF 函數 是先列 範圍後取 是/否值  兩邊都放一樣的 他的判斷邏輯是什麼@@?
作者: Hsieh    時間: 2013-11-21 10:51

本帖最後由 Hsieh 於 2013-11-21 10:55 編輯

回復 1# huangwed
不使用VBA也不使用陣列公式那就將資料依據等級排序就會單純很多
=IF(COUNTIF(C:C,F1)=0,"",SUMPRODUCT(1/COUNTIF(OFFSET($C$1,MATCH(F1,$C:$C,0)-1,1,COUNTIF($C:$C,F1),),OFFSET($C$1,MATCH(F1,$C:$C,0)-1,1,COUNTIF($C:$C,F1),))))
[attach]16811[/attach]
作者: aer    時間: 2013-11-22 12:33

回復 4# p212
原公式如5#所說的,項目之間有重覆,計算後會產生小數點的問題。
可以在E欄新增一輔助欄,公式=C2&D2,向下複製
計算個數的公式更改為 =SUMPRODUCT((C2:C15="A")*(1/COUNTIF(E2:E15,E2:E15)))
作者: aer    時間: 2013-11-22 12:37

回復 7# handsometrowa
此公式是在計算不重覆的個數,如有相同的個數取倒數後再相加的值就變為1。例如:有二個項目相同,則倒數為0.5+0.5,結果就是1
作者: bmouth    時間: 2013-11-24 01:15

在E2列打
=C2&":"&D2
整列都做

然後在 F2 打
=1/COUNTIF(E:E,E2)
整列都做

然後用以下公式就可得出答案
=SUMIF(C:C,"A",F:F)




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)