Excel 統計一列區域中不重復項數量


不重復唯一值,這是在 Excel 里處理數據經常能遇到的問題。例如,統計不重復數量、篩選不重復值、刪除重復值、提取重復值等。今天我們來學習,寫統計不重復數量的公式。

問題描述

如何統計一區域中以不重復項的數量?

 

 

 

 

思路分析

1. 使用 COUNTIF 函數,在生源地列中,分別統計每一行生源地在整列中出現的次數,並以數組形式返回出現次數。

公式為:=COUNTIF(生源地,生源地)

2. 針對某一個生源地,假設它出現了 n 次,那么在返回的出現次數數組中占用 n 個位置,並且每個位置的值為 n。

例如數據列為 A, B, C, C, A, A,則返回的數組為,{3, 1, 2, 2, 3, 3},即 A 出現在3 個位置,每個位置的值為 3。

3.一個生源地無論出現多少次,都應只記一次。根據上述描述,如果將返回的出現次數數組里的每一項被一除並相加,剛好的到不重復項的數量。

例如,{3, 1, 2, 2, 3, 3}     → 1/3 + 1/1 + 1/2 + 1/2 + 1/3 + 1/3 = 3 。

 

方法步驟

1. 輸入 SUMPRODUCT函數:

= SUMPRODUCT(

2. 接着輸入SUMPRODUCT 函數的參數,被一除的 COUNTIF 函數:

=SUMPRODUCT(1/COUNTIF(

3. 最后輸入 COUNTIF 函數的參數,統計區域為生源地列,統計條件為所有的生源地。最后回車完成輸入公式。

=SUMPRODUCT(1/COUNTIF(B:B,B2:B19))

 

 

 

可能出現的錯誤

當區域中含有空白單元格時,公式會出現 #DIV/0 錯誤。這是因為在 COUNTIF函數中,空白單元格在其兩個參數表示不同的含義。

當空白單元格在統計區域參數時,被當做空字符 "";當在判斷條件參數時,被當做零。因此當 COUNTIF 函數判斷條件引用空白單元格時,其表示零,統計值為零。如果將其被一除,則返回 #DIV/0 錯誤。

 

 

 

 

 

為了避免錯誤的產生,可以將判斷條件連接一空字符,這樣有內容的單元格不受影響,空白單元格則變成空字符,與統計區域保持一致。這種情況,空白單元格也計算為一個不重復項。

=SUMPRODUCT(1/COUNTIF(B2:B19,B2:B19&""))

總結

你可能已經有疑問了,如何想到用 1 除?這個嚴格來說不是 Excel 問題,是算法問題。Excel 用兩個函數巧妙的實現了該算法,最后得到目標值。建議記住該算法,在 Excel 很多問題上,會用到「1 除」概念,可以快速解決一些復雜的問題。



作者:懶人Excel
鏈接:https://www.jianshu.com/p/45016c1c1bce
來源:簡書
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM