【Excel】未來5年你必須要掌握的函數之9:UNIQUE函數
當前位置:點晴教程→知識管理交流
→『 技術文檔交流 』
今天我們來談談在EXCEL中新增的去重函數,即UNIQUE函數。UNIQUE一詞有“唯一的;獨一無二的”等含義,因此這個函數的使用相對容易理解。 UNIQUE函數用于返回列表或區域中的唯一值。它可以幫助用戶快速篩選出數據集中不重復的元素,并且能夠按照用戶指定的方式返回結果,比如返回唯一值的數組或者返回唯一值及其對應的出現次數。 1、基本語法 =UNIQUE(array,[by_col],[exactly_once]) array:必需參數,表示要從中提取唯一值的區域或數組。它可以是一個單元格區域,也可以是一個已經定義好的數組。 by_col:可選參數,用于指定是按列(TRUE)還是按行(FALSE)來比較和提取唯一值,默認按行比較。 exactly_once:可選參數,用于指定是否只返回出現一次的唯一值。如果此參數設置為TRUE,則函數只返回在array中出現一次的唯一值;如果設置為FALSE則返回所有的唯一值,默認返回所有的唯一值。 2、基本用法 1)對部門進行去重 =UNIQUE(B2:B10) 2)對姓名和部門進行去重 =UNIQUE(A2:B10) 2)對姓名進行計數 =COUNTA(UNIQUE(A2:A10)) 利用COUNTA和UNIQUE函數的簡單嵌套,只有“王朝”和“馬漢”這兩個人,結果自然為2。 3)判斷姓名是否有重復 使用COUNTA函數分別對去重之前和去重之后的姓名進行計數,通過比較兩者之差是否等于0來判斷是否存在重復姓名。如果兩者之差為0,則表示姓名沒有重復;反之,則表示存在重復姓名。 =IF(COUNTA(A2:A10)-COUNTA(UNIQUE(A2:A10))=0,"不重復","重復") 4)只保留出現一次的姓名 這個時候要用到后面的參數,很顯然,姓名“王朝”出現過兩次,需要剔除掉。 =UNIQUE(A2:A10,0,1) 5)條件去重 統計在指定起始日期和結束日期范圍內究竟有哪些料號? =UNIQUE(FILTER(B2:B20,(A2:A20>=E2)*(A2:A20<=F2))) 6)中式排名 在EXCEL中提供了一個RANK排名函數,但是它采用的是美式排名方式,與我們中國人的習慣不太符合。由于李四和王五的銷量都是500,因此他們應該并列第2名,但是在美式排名中,后面的趙六直接跳到了第4名。 =RANK(B2,$B$2:$B$6,0) 為了解決這個問題,我們可以結合UNIQUE函數寫出符合我們中國人的排名方式。 =SUM((UNIQUE($B$2:$B$6)>B2)*1)+1 重點理解: UNIQUE($B$2:$B$6): 將B2到B6范圍內的數值進行去重操作,返回一個包含唯一值的數組。 (UNIQUE($B$2:$B$6)>B2): 將唯一值數組中的每個值與單元格B2中的值進行比較,返回一個包含TRUE或FALSE的數組,表示唯一值是否大于B2。 ((UNIQUE($B$2:$B$6)>B2)*1): 將上一步得到的TRUE或FALSE的數組轉換為1或0的數組,即將TRUE轉換為1,FALSE轉換為0。 SUM((UNIQUE($B$2:$B$6)>B2)*1): 對上一步得到的1或0的數組進行求和,即統計唯一值中大于B2的值的個數。 SUM((UNIQUE($B$2:$B$6)>B2)*1)+1: 在上一步的基礎上再加1,從而最終獲得排名。 7)核對未出勤人員 根據應到名單和簽到名單,統計出未到人員名單。 =UNIQUE(VSTACK(B2:B9,D2:D7),0,1) 這里使用VSTACK函數先把應到名單和簽到名單進行堆疊,然后利用UNIQUE函數進行去重,選擇只出現過一次的人員即可。 該文章在 2024/11/26 16:50:21 編輯過 |
關鍵字查詢
相關文章
正在查詢... |