您的位置:首頁>科技>正文

EXCEL單列多列去重提取資訊,搞笑直通車函數,一步搞定

HELLO, 大家好, 我是幫幫, 今天跟大家分享一個咱們日常工作經常遇到的問題, 提取不重複記錄, 雖然通過輔助列, 功能鍵實現我們的目的, 當然我們更希望一步到位, 快捷簡單。 【如果大家喜歡幫幫, 請點擊文章末尾下方的推廣廣告, 在裡面找到並關注我, 我給表親們準備了更多更實用的辦公軟體技巧, 期待您的到來】

大家請看範例圖片, 我們現在要提取A列的不重複記錄。

選擇A列, 點擊資料選項卡中的刪除重複項功能。

選擇我們要刪除的資料列, 點擊確定。

大家看, 剩下的資料已經幫我們去重, 相信大家都會使用這個功能。 但是這種方法會破壞原表資料, 日常工作中, 往往我們都採用輔助表來再去重【如果大家喜歡幫幫, 請點擊文章末尾下方的推廣廣告, 在裡面找到並關注我, 我給表親們準備了更多更實用的辦公軟體技巧, 期待您的到來】

這裡我們採用公式來解決, 再C2儲存格鍵入公式, =INDEX(A:A,MIN(IF(COUNTIF($C$1:C1,$A$2:$A$8)=0,ROW($2:$8),4^8)))&"", 輸入完成以後按下CTRL+SHIFT+回車的複合鍵, 轉換為陣列公式, 並向下複製到“出現空值”的儲存格, 完成操作。

這裡我們利用COUNTIF=0作為判斷不重複的條件, 配合使用MIN函數作為排序的參數。 我們可以理解為INDEX(引用列, MIN(IF(條件, ROW(引用區域的行號),

極值行號)))&“”。 大家下來後, 自己可以試驗一下, 這種類型的函數都是屬於“套路”, 理解掌握以後便能舉一反三。

我們再來看兩列/多列去重提取數值, 如果是按照快顯功能表的方法, 需要多次輔助操作來實現。

我們可以再D2處鍵入公式, =INDIRECT(TEXT(MIN(IF(($A$2:$B$8<>"")*(COUNTIF($D$1:D1,$A$2:$B$8)=0),ROW($2:$8)*1000+COLUMN(A:B),65536001)),"!R0!C000"),0)&"", 依然三鍵組合,

形成陣列公式, 並向下複製, 直至“空白”。

大家值得注意的是, INDIRECT(TEXT(MIN(IF(條件, (引用區域的行號)×1000+COLUMN×(引用區域的列號), 極值行號), "!R0!C000"),0)&""。

這也是屬於“套路”函數, 提取多列去重資料, 這裡多使用了TEXT函數, 將MIN函數提取的最小值, 轉換為儲存格位址, 使用INDIRECT函數引用對應儲存格的值, 使用&“”將多餘的部分返回為空文本。 【如果大家喜歡幫幫, 請點擊文章末尾下方的推廣廣告, 在裡面找到並關注我, 我給表親們準備了更多更實用的辦公軟體技巧, 期待您的到來】

今天的嵌套函數有點複雜, 不過不要緊, 收藏起來, 要用的時候直接拿出來, 改改引用區域就行, 就是這麼簡單^^

【如果大家喜歡幫幫, 請點擊文章末尾下方的推廣廣告, 在裡面找到並關注我, 我給表親們準備了更多更實用的辦公軟體技巧,

期待您的到來】

Next Article
喜欢就按个赞吧!!!
点击关闭提示