統計某一列不重複的個數(如何統計一列中不同內容的個數)

在做資料統計時,求出不重複的資料是經常用到的,如何求出某區域的不重複資料呢?下面我將給出三種辦法,讀者可以試著根據自己的習慣,利用自己喜歡的方法進行計算。

例項:求某一區域內不重複的資料個數,如求A1:A10範圍內不重複資料的個數,某個數重複多次出現只算一個。下面將就三種計算方法做詳細的講解:

一是利用陣列公式:

=SUM(1/COUNTIF(A1:A10,A1:A10))

輸入完公式後按Ctrl Shift Enter鍵,讓它自動加上陣列公式符號"{}"。

公式講解:

COUNTIF 計算滿足條件的單元格個數

函式定義:用來對搜尋指定條件的單元格(即引數)的計數.即只求和被滿足條件的單元格計數

使用格式:COUNTIF(range,criteria)

格式簡義:COUNTIF(要找的內容所在的區域,要找的內容)

引數定義:

range為需要計算其中滿足條件的單元格數目的單元格區域,即(範圍)。

criteria為確定哪些單元格將被計算在內的條件,其形式可以為數字、表示式或文字。

下面看看例項:

上面的例子中,公式

SUM(1/COUNTIF(A1:A10,A1:A10))先計算陣列COUNTIF(A1:A10,A1:A10)相當於在A1:A10單元格中先後差A1,A2,A3,A4,A5,A6,A7,A8,A9,A10的個數,得到{1;1;1;1;2;1;2;2;2;1}再倒數求和,即是不重複的數字個數。如C4的返回結果。

二是利用乘積求和函式

公式:

=SUMPRODUCT(1/COUNTIF(A1:A100,A1:A100))

SUMPRODUCT用途:在給定的幾組陣列中,將陣列間對應的元素相乘,並返回乘積之和。

語法:SUMPRODUCT(array1,array2,array3,...)

引數:Array1,array2,array3,...為2至30個陣列,其相應元素需要進行相乘並求和。

例項:公式"=SUMPRODUCT({3,4;8,6;1,9},{2,7;6,7;5,3})"的計算結果是156。

其實這個函式和第一個例子的意義是一樣的,只不過是求得倒數後利用SUMPRODUCT函式與1的乘積再相加後得到的結果,如下截圖:

三是用資料透視表

我們先給上述資料加個行頭,然後選中這些資料,含行頭,對這些資料做資料透視表,此時會得到這些資料的名稱列和每個資料的個數,那麼資料的名稱肯定就是不重複的數值了,如下面的D列,很快就可以知道是8個數值。

我之前提過,函式的使用要切合自己的習慣,不是越簡單越好。比如我自己,在做類似的排重個數的計算時,用的最多的是第三種,雖然好像是複雜了很多,但是我的習慣就是用第三種方法,做資料透視表。

今日內容迴向:

1 計算某區域不重複的資料有幾種辦法?

2 兩種函式辦法主要利用了陣列,其中的關鍵是什麼呢?

3 利用資料透視表法求時,主要是利用了資料透視表的行標籤不重複的特性,對於行標籤的個數或者是求和的計算是否可以忽略?