問題很常見,但是對新手來說又比較棘手,所以我們來壹期,系統講講,個人我個人的知識儲備,大概寫了8種,涵蓋Excel的方方面面!最後壹種也滿足壹下大家對於Python的好奇!
友情提醒:應該是目前妳所能見到的最全面的了!先收藏!
需求:統計對應區域中不重復的人員個數?
方法1:輔助列+函數
這個方法推薦函數新手使用,幫助剛入門的同學解決問題!
=SUMPRODUCT(($B$2:$B$15=$E2)/COUNTIFS($A$2:$A$15,$A$2:$A$15))
沒有條件單純的統計不重復內容,基本大家都知道使用SUM(1/COUNTIF(區域,區域))套路!如果有條件呢,我們可以把多個條件組合到壹起,就變成壹列了,然後使用單列不重復統計,最後再根據區域式的等於需求的區域過濾!
如果妳是壹個函數高手,那麽不用輔助列也可以!
方法2:函數法(無輔助列)
=SUMPRODUCT(($A$2:$A$15=$D2)/COUNTIFS($A$2:$A$15,$A$2:$A$15,$B$2:$B$15,$B$2:$B$15))
這個應該不需要我過多的解釋,只是把輔助列放到了公式中,單條件變多條件!
好吧!妳說函數法都太難了,有沒有小白可以實現的,試試吧!
方法3:透視表法(新手)
要點說明:在創建透視表時必須勾選添加到數據模型才可以使用不重復統計!
其本質使用的是Power Pivot的不重復統計功能!
如果覺得上面的方法過於小白,那我們可以試試Power Query
方法4:Power Query
點擊轉換-數據分組-非重復計數確定即可!
在PQ中使用自帶的分組功能,也能輕松搞定這樣的需求!依舊不能再簡單!
如果妳想稍微酷點,那麽使用VBA怎麽樣?
方法5:VBA
去重統計本是字典的強項,但是條件去重確實壹點麻煩,不過可以使用雙層字典即可輕松搞定!VBA愛好者,可以參考壹下這種寫法!
方法6:Power Pivot-DAX度量值
在PP中使用DAX函數DISTINCTCOUNT,可以非常簡單的統計不重復的個數
寫個度量值,扔到透視表值字段即可!
其實到這裏,也就差不多了,不要總是說去重統計不會!
突然想起好久沒寫的SQL,好像我也懂壹點點!要不寫壹下SQL,順便練個手!
方法7:SQL法
select地區,count(*)as不重復人數from(select distinct*from[data$]where地區<>null)group by地區
先使用子查詢去重,再進行分組聚合計數即可!有SQL大佬歡迎提供好的思路!
好吧!最後我再寫壹個Python就收工吧!
方法8:番外-Python
df.drop_duplicates().groupby('地區').count()
pandas在數據統計方面再次刷新了我的認知,壹句搞定!不要鼓吹python
但是pandas確實是壹個數據分析非常好用的庫,誰用誰知道!