tft每日頭條

 > 生活

 > excel如何統計重複數據的數量

excel如何統計重複數據的數量

生活 更新时间:2024-09-27 19:24:07

私信回複關鍵詞【工具】,獲取Excel高效小工具合集!

讓你的Excel效率開挂~(◦˙▽˙◦)

前段時間遇到這樣一個問題,讓我很頭疼。

excel如何統計重複數據的數量(統計數量的2種方法)1

頭疼的原因有 3 點:

❶ 問題描述不清晰,理解起來困難;

❷ 去重複計算數量,函數公式實現難度大;

❸ 提問的是個男生。

excel如何統計重複數據的數量(統計數量的2種方法)2

我嘗試着把問題精簡了一下,是這樣的,你就湊活着看吧。

excel如何統計重複數據的數量(統計數量的2種方法)3

一列「用戶 ID」,一列「活動日期」,現在想統計,每個用戶參加活動的天數。

因為用戶可能在 1 天中參加多次活動,所以要根據「用戶 ID」對「活動日期」去除重複,然後再計數。

明白了嗎?

明白了,咱們就開始幹!

excel如何統計重複數據的數量(統計數量的2種方法)4

01方法一

關于去除重複計數,也就是統計唯一值,Excel 中有一個經典的用法。

使用 SUMRODUCT 和 COUNTIF/COUNTIFS 函數完成。

= SUMPRODUCT(1/COUNTIF(統計區域,統計區域))

現在看不懂沒關系,我們通過這個案例,一起走一遍這個過程。

❶ COUNTIFS 統計數量。

首先是統計數量,因為這裡有「用戶 ID」「活動日期」兩列數據,所以我們用 COUNTIFS 函數。

excel如何統計重複數據的數量(統計數量的2種方法)5

完成公式如下:

=COUNTIFS(C2:C16,C2:C16,B2:B16,H2)

計算結果:

= {0;0;0;0;0;0;0;0;0;0;0;1;1;1;1}

注意:這裡有一個數組的用法,在判斷條件的參數中使用數組,那麼計算的結果,也是對應數量的數組。

excel如何統計重複數據的數量(統計數量的2種方法)6

❷ 數量求倒數。

接下來,用 1 除以計數結果,獲取對應的倒數。

excel如何統計重複數據的數量(統計數量的2種方法)7

完成公式如下:

=1/COUNTIFS(C2:C16,C2:C16,B2:B16,H2)

計算結果:

={#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;1;1;1;1}

▲左右滑動查看

因為「1/0」會出現「#DIV/0!」的錯誤,所以公式外面,再加一個 IFERROR 容錯:

=IFERROR(1/COUNTIFS(C2:C16,C2:C16,B2:B16,H2),0)

計算結果:

={0;0;0;0;0;0;0;0;0;0;0;1;1;1;1}

這一步是非重複計數的關鍵操作,結合下一步倒數求和,會更容易理解。

❸ SUMPRODUCT 倒數求和。

因為 SUM 函數不支持數組操作,所以這裡使用 SUMPROUDCT 進行求和。

excel如何統計重複數據的數量(統計數量的2種方法)8

完成公式如下:

=SUMPRODUCT(IFERROR(1/COUNTIFS(C2:C16,C2:C16,B2:B16,H2),0))

計算結果:

= 4

到這一步,你可能就明白求倒數的意義了。

如果相同數據出現了 2 次,那麼計數過程就是「1/2 1/2 =2」;

如果出現了 3 次,就是 3 個「1/3」相加「=3」;

其他次數以此類推,即實現了非重複計數。

❹ 增加「用戶 ID」判斷。

但是上一步計算結果,顯然是錯的,QY1 的去重計數,應該是 1 才對啊。

這是因為計數的過程,沒有對用戶進行限制。

因為 QY1 有「10/4」的記錄,所有的「10/4」都被統計到 QY1 用戶上了。

excel如何統計重複數據的數量(統計數量的2種方法)9

所以需要再增加一個用戶條件的判斷,這裡使用 EXACT 函數實現。

excel如何統計重複數據的數量(統計數量的2種方法)10

完整公式如下:

=EXACT(B2:B16,H2)

計算結果:

={FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE}

▲左右滑動查看

EXACT 的作用,是判斷兩個數值是否相等。

因為 EXACT 中也是引用了區域,所以計算結果是一個 TRUE 和 FALSE 的數組。

接下來,是把 EXACT 的計算結果,作為條件添加到前面的公式中。

方法很簡單,和第 1 步的計數過程相乘就可以了。

excel如何統計重複數據的數量(統計數量的2種方法)11

完成公式如下:

=SUMPRODUCT(IFERROR(1/COUNTIFS(C2:C16,C2:C16,B2:B16,H2)*EXACT(B2:B16,H2),0))

▲左右滑動查看

計算結果:

=1

這樣就把非當前用戶的統計給去掉了,也就得到了最終的結果。

02方法二

方法 1 是傳統的方法,經過一番折騰,最終算是圓滿完成了需求。

但是正如你所感受到的,傳統函數公式的思路太古怪,一般人很難想到用 1/次數的方法,來做去重計數。

excel如何統計重複數據的數量(統計數量的2種方法)12

這也是函數公式難學的主要原因。

正常用戶的思路,不應該是這樣的嘛?

❶ 篩選用戶 ID

❷ 去除重複值

❸ 統計數量

這個正常的思路,用傳統公式是很難實現的。

但是 Office 365 中新增的 FILTER 和 UNIQUE 函數,讓這個過程變的簡單,變的正常了。

❶ 篩選用戶 ID。

使用新增的 FILTER 函數,可以輕松的根據「用戶 ID」篩選對應的記錄。

excel如何統計重複數據的數量(統計數量的2種方法)13

完整公式如下:

=FILTER($C$2:$C$16,$B$2:$B$16=H4)

計算結果:

={43739;43739;43739;43740;43741;43742}

FILTER 的作用就是篩選符合條件的記錄。

(日期返回的是數字格式,所以變成了 43739 的樣子。)

❷ 去除重複值。

Office 365 中新增的 UNIQUE 函數,就是用來去除重複值的。

excel如何統計重複數據的數量(統計數量的2種方法)14

完整公式如下:

=UNIQUE(FILTER($C$2:$C$16,$B$2:$B$16=H4))

計算結果:

={43739;43740;43741;43742}

注意到了嗎?FILTER 篩選出來的重複值,被 UNIQUE 函數一下子去除掉了。

❸ 統計數量。

有了去重後的篩選結果,統計數量太簡單,就是普通的 COUNTA 函數嘛。

excel如何統計重複數據的數量(統計數量的2種方法)15

完整公式如下:

=COUNTA(UNIQUE(FILTER($C$2:$C$16,$B$2:$B$16=H4)))

計算結果:

= 4

簡單的 3 個步驟,符合常規思路,你肯定一下子就學會了,不是嗎?

03總結

溫馨提示:

FILTER 和 UNIQUE 函數,目前隻有 Office 365 的版本才有,而且需要參加「預覽版體驗計劃」。

今天的非重複計數學會了吧,别忘了點個贊!

私信回複關鍵詞【工具】,獲取Excel高效小工具合集!

讓你的Excel效率開挂~(◦˙▽˙◦)

excel如何統計重複數據的數量(統計數量的2種方法)16

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved