- 相關推薦
excel多條件不重復數據
excel表格是我們工作時常會用到的,那么關于excel多條件不重復數據你又清楚操作嗎,以下是pincai小編搜集并整理的有關內容,希望在閱讀之余對大家能有所幫助!
excel多條件不重復數據
→ 解決方案1:
使用1/COUNTIF與SUM函數組合統計不重復數據個數。
→ 操作方法
在C2單元格輸入以下2個公式之一:
公式1 {=SUM(1/COUNTIF(A2:A16,A2:A16))}
公式2 =SUMPRODUCT(1/COUNTIF(A2:A16,A2:A16))
→ 原理分析
1.使用COUNTIF函數進行條件統計,返回A2:A16單元格區域內每個數據出現次數的數組:
{2;2;1;3;2;1;3;2;1;1;2;1;1;2;3}
被1除后,生成數組:
{1/2;1/2;1;1/3;1/2;1;1/3;1/2;1;1;1/2;1;1;1/2;1/3}
即出現N次重復的,就變成N個1/N,求和就是1,達到重復值只算1次的目的。
2.最后使用SUM或SUMPRODUCT函數求和即可得到區域內不重復值的個數。
→ 知識擴展
1/COUNTIF函數統計不重復值的優缺點
1.統計區域內不得有空單元格,否則返回#DIV/0!錯誤。可以使用嵌套IF函數的數組公式解決這個問題,公式如下:
{=SUM(IF(A2:A16<>"",1/COUNTIF(A2:A16,A2:A16)))}
2.因為EXCEL浮點運算可能產生誤差而造成答案不正確,即公式返回值比正確值小。對于這種情況,可以用嵌套ROUND函數修正。
3.COUNTIF函數對數據類型沒有要求,文本、數值、邏輯值、錯誤值均可,每一種錯誤值算作一個不重復數據。
4.統計區域不限于單行或單列(即一維引用),可以是多行多列的矩形區域,但必須是對單元格區域的引用,而不能是非引用類型的數組。
→ 解決方案2:
使用MATCH=ROW比較判斷統計不重復數據個數。
操作方法
在C2單元格輸入下列2個公式之一:
公式1 {=SUM(--(MATCH(A2:A16,A2:A16,)=ROW(2:16)-1))}
公式2 =SUMPRODUCT(--(MATCH(A2:A16,A2:A16,)=ROW(2:16)-1))
→ 原理分析
1.使用MATCH函數返回區域內每個數據第一次出現的位置數組:
{1;2;3;4;1;6;4;8;9;10;8;12;13;2;4}
2.然后與其對應的行號位置比較,因為只有第一次出現的位置才會一致,所以統計的是不重復個數。
3.使用減負運算將判斷結果返回的邏輯值轉換為1、0,最后使用SUM或SUMPRODUCT求和即可得出不重復數據的個數。
→ 知識擴展
MATCH=ROW法統計不重復值的優缺點
1.統計區域內不得有空單元格,否則MATCH函數返回#N/A錯誤。對于包含空單元格的區域,可以用文本合并進行相應的處理,公式如下:
=SUMPRODUCT((A2:A16<>"")*(MATCH(A2:A16&"",A2:A16&"",0)=ROW(2:16)-1))
其中,(A2:A16<>"")用于防止將空單元格&""后算作一個空文本數據。
2.不會有浮點運算誤差。
3.數據類型可以是文本、數值、邏輯值,但不得包含錯誤值。
4.數據可以是內存數組,也可以是單元格區域的引用,但必須是單行或單列。
→ 解決方案3:
使用FREQUENCY函數統計不重復數字個數。
→ 操作方法
在C2單元格輸入下列2個公式之一:
公式1 =COUNT(1/FREQUENCY(A2:A16,A2:A16))
公式2 =SUM(--(FREQUENCY(A2:A16,A2:A16)>0))
→ 原理分析
1.使用FREQUENCY函數返回統計區域內數字的分布頻率數組:
{2;2;1;3;0;1;0;2;1;1;0;1;1;0;0;0}
由此可見,第一次出現的數字位置返回數字出現個數,而第2次出現就返回0,因此只要統計非0的個數即可。
2.公式1使用1/FREQUENCY將0轉換為#DIV/0!錯誤值,再利用COUNT函數忽略錯誤值的特性統計數組中非0數字的個數,公式2使用--(FREQUENCY>0)將數組大于0判斷得到的邏輯值轉換為數值1、0,再使用SUM函數求和,由此實現統計不重復數據個數。
3.由于FREQUENCY函數默認返回數組,COUNT、SUM函數均將其視為常量數組代入計算,因而無需按組合鍵形成數組公式。
→ 知識擴展
FREQUENCY函數統計不重復值的優缺點
1.統計區域可以有空單元格。因為FREQUENCY函數將忽略空白單元格和文本。
2.使用公式2沒有浮點運算誤差。
3.數據必須為數值,如果是一維的文本數據,可以借助MATCH函數轉換為序列號數值再進行統計。
4.參數不受引用或數組的尺寸范圍限制,可以支持多行多列的數值數據的不重復統計。
數據去重必學函數UNIQUE函數介紹
功能:UNIQUE函數可以去除重復值保留唯一值
語法:=UNIQUE(數組,[按列],[僅出現一次])
第1參數:數組就是返回唯一值的數組數據區域;
第2參數:按列是可選參數,指定比較的方式,設置為TRUE將比較列并返回唯一值,設置為FALSE (或省略) 將比較行并返回唯一值;
第3參數:[僅出現一次]可選參數,一般直接省略即可。
備注:FILTER函數需更新至WPS Office最新版本使用
基本用法:
在目標單元格中輸入公式:
=UNIQUE(A1:A8)
然后點擊回車,即可
解讀:
公式中A1:A8就是要去重的數據區域;省略了第二參數默認按行去重并返回唯一值;省略的三參數默認是FALSE返回唯一選項。
當然如果是去重數據是按行橫向排列的話,就必須把第二參數設置為TRUE,就是按列去重。
在目標單元格中輸入公式:
=UNIQUE(B2:I2,TRUE)
高級用法一:計數不重復人數
在目標單元格中輸入公式:
=COUNTA(UNIQUE(A2:A8))
然后點擊回車即可
當然如果想計算重復的人數,可以使用姓名總數減去唯一值的個數即可
公式:=COUNTA(A2:A8)-COUNTA(UNIQUE(A2:A8))
高級用法二:動態提取不重復數據
在目標單元格中輸入公式:
=DROP(UNIQUE(A:A),-1,0)
然后點擊回車即可,如果參會名單變動,提取的不重復數據也會自動更新。
解讀:
①上面公式使用DROP函數和UNIQUE函數組合,主要是為了實現根據參會人員變動,達到動態提取不重復數據的效果。
②首先使用UNIQUE(A:A)函數提取A列參會人員名稱中不重復的數據,因為選擇的是這列數據,使用UNIQUE函數后會在結果下方多出一個數字0。出現這種情況的原因是UNIQUE函數在對A列最底部的空白單元格去重時,會默顯示數字0。
③最后再使用DROP函數去掉去重數據的最后一行數據0,第2參數-1就是從下往上刪除一行;第3個參數為0,表示刪除0列,這樣就最終得到我們想要的去重的結果了。
高級用法三:按條件提取不重復數據
在目標單元格中輸入公式:
=UNIQUE(FILTER(B2:B9,A2:A9=E2,"無數據"))
然后點擊回車即可
解讀:
1、公式中首先通過FILTER函數,按條件篩選出指定門店的值班經理名單,然后再通過UNIQUE函數提取出不重復的名單數據即可。
2、上面實例中是按單個條件提取不重復數據,我們也可以進行多條件提取不重復數據,只需正確設置FILTER函數第2個參數即可
①如果需要多個條件同時滿足,就用*把多個條件連接
條件1*條件2*條件N
例如:(A2:A9=E2)*(C2:C9=D2)
②如果需要多個條件滿足任意一個,就用+把多個條件連接
條件1+條件2+條件N
例如:(A2:A9=E2)+(C2:C9=D2)
【excel多條件不重復數據】相關文章:
excel函數怎么條件篩選06-24
excel自動篩選多個條件06-24
精選Excel建立數據庫技巧06-23
Excel數據庫函數介紹06-24
Excel數據庫函數簡介06-24
Excel 2007的數據分析介紹07-10
Excel制表技巧 數據分析07-10
EXCEL數據分析加載項07-10
巧用Excel圖表展現分析數據07-10