編按:
統計重復數和統計不重復是Excel人常遇到的工作內容。函數COUNTIFS(多條件計數函數)和COUNTIF(單條件計數函數)很奇妙,原本是用來統計重復次數的,但通過變化也可以用來統計不重復數(去除重復計數)。就譬如下面重復的水果有哪些?一共有幾種水果?如果你5秒鍾內回答不上,就趕緊買點水果愛愛自己看看教程吧!
謝謝各位伙伴昨日的點贊!老菜鳥今天就為大家奉上利用函數統計非重復項目數的方法。
首先簡單回顧一下我們的問題:求下表各區域的業務機構數和經營品種數。
利用透視表新選項“將此數據添加到數據模型”我們可以比較方便地完成上面的問題,只是存在限制:
(1)至少是Excel 2013版本才行。
(2)若套用模板進行統計,可能還需要搭配vlookup函數才行。
難道就沒有完美的解決方法了嗎?肯定有!這里分享兩個函數解決法。
第一種:COUNTIFS函數搭配輔助列。
只要借助輔助列,我們使用COUNTIFS函數就能很快地得到統計結果。
第1步:用公式右拉下拉添加兩個輔助列,得到每個業務機構首次出現的“1”和每個商品編碼首次出現的“1”。公式為:
=COUNTIFS(B$1:B2,B2,$A$1:$A2,$A2)
公式解釋:
以第一個輔助列來說明公式的作用。
為了便於大家查看效果,對數據源按照區域和業務機構進行了排序,相同的機構都在一起。公式的結果就是依次標注同一區域同一業務機構是第幾次出現,聯系下一步的操作,其核心作用就是把業務機構首次出現標注為1。這樣,有多少個1,就有多少個機構。
可能有的朋友還是第一次使用COUNTIFS,這個函數很簡單,就是按照多個條件去計數,格式為COUNTIFS(數據區域1,條件1,數據區域2,條件2,……),表示只有多個條件同時滿足才會計數。
譬如,在本例中,D2單元格統計的是在A1:B2區域中並排出現“東北區域(A2)”和“1001(B2)”的次數,結果是1次;D4單元格統計的是在A1:B4區域中並排出現“東北區域(A4)”和“1001 (B4)”的次數,結果是3次;D9單元格統計的是A1:B9區域中並排出現“東北區域(A9)”和“1022(B9)”的次數,結果是1次……
同理,第二個輔助列就是根據區域和商品編碼來統計,當一個商品在同一個區域首次出現時,結果為1:
第2步:在H2單元格中輸入公式,然后右拉下拉分別統計D列和E列中符合條件的1的個數,得到最后結果。公式為:=COUNTIFS($A:$A,$G2,D:D,1)
這個公式要比輔助列那里好理解的多。譬如H2單元格中的公式就是統計A列和D列中並排出現“東北區域”和“1”的次數。
整個方法只用了一個COUNTIFS函數,比較適合函數小白的記憶使用。但是對於初學者而言,如果不清楚公式中$符號的作用,理解起來就困難。$符號表示絕對引用,如果不了解相對引用、絕對引用的,可以查看教程《絕對引用混合引用都不懂?難怪你總是公式填充錯誤!》。
一個問題:
如果單條件統計不重復數,也就是不分區域分別求業務機構數和經營品種數,上述方法中的公式該怎么調整?
第二種:SUMPRODUCT和COUNTIFS組合公式。
第一種方法有輔助列,喜歡極致的伙伴肯定不喜歡,那就來個不用輔助列的公式。
=SUMPRODUCT(($A$2:$A$36=$G2)/COUNTIFS($A$2:$A$36,$A$2:$A$36,B$2:B$36,B$2:B$36))
這是一個比較常用的“套路”公式,不用輔助列,滿足追求“公式到死”的極致伙伴的需求。當數據量不是很大的時候,非常的爽,一步就完成統計。
但是該公式涉及到大量的數組運算,當數據源的行數比較多的時候,就會卡得不要不要的~~~~
再來一個問題:
如果單條件統計不重復數,也就是不分區域分別求業務機構數和經營品種數,上面的公式又該怎么調整?
Ok,用函數公式統計非重復項目數的方法就介紹到這里了。歡迎伙伴們丟磚頭,丟得越多老菜鳥越高興;同時,如果覺得不錯,請不要吃獨食,大方、熱烈地分享給你的朋友吧