日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

excel函数去重_将数字去重,然后按从小到大的顺序连接起来!

發布時間:2025/3/19 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 excel函数去重_将数字去重,然后按从小到大的顺序连接起来! 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
你好,我是劉卓。歡迎來到我的公號,excel函數解析。今天來分享一個案例——對數字去重,排序,連接。-01-下圖A1:I7是數據源,都是0-9之間的數字。現在的要求是將每行的數字去重,然后按從小到大的順序連接起來。結果如J列所示。每行只有9個數字。

對于這個問題,不同版本的excel,會有不同的解決方法,當然難度也會不同。版本越高,難度越低;版本越低,難度越高。這就是工具的重要性。

如果有office365的話是最簡單的。只需在J2單元格輸入公式=CONCAT(SORT(UNIQUE(A2:I2,1),1,1,1)),向下填充,就完成了。unique去重,sort排序,concat連接。-02-

如果沒有office365的話,有文本連接函數concat和textjoin也是不錯的,難度也會降低很多。因為在excel工作表函數中,文本連接函數是非常重要的,它很難通過其他函數的嵌套來達到文本連接的效果。

不像拆分這么容易,就算沒有split函數,也能通過其他函數的嵌套來達到拆分的效果,比如mid+substitute+rept組合或者是filterxml。

下圖就是用concat函數實現的效果,在J2單元格輸入公式=CONCAT(IF(COUNTIF(A2:I2,ROW($1:$10)-1),ROW($1:$10)-1,"")),按ctrl+shift+enter三鍵,向下填充。

COUNTIF(A2:I2,ROW($1:$10)-1)這部分,用countif函數統計A2:I2中0-9的個數,返回的結果為{2;1;0;2;0;0;0;1;1;2}。也就是找到的返回它的個數,沒找的返回0。比如0有2個,就返回2;1有1個,就返回1。

IF(COUNTIF(A2:I2,ROW($1:$10)-1),ROW($1:$10)-1,"")這部分,是用if函數進行判斷,如果上一步統計的結果是非0的數字,那么就返回第2參數0-9對應的數字,否則就返回空文本。這一步的結果是{0;1;"";3;"";"";"";7;8;9}。

最后外面套個concat,將這些數字連接起來就可以了。-03-

如果你的excel版本沒有文本連接函數,那么你最好升級一下版本,要么就提升一下自己的函數水平,或者是學一下其他excel技術,比如pq和vba等。此時只用工作表函數來做就有些難度了。

下圖是用mode.mult函數結合除法來實現的效果。此公式需要有一定的基礎才能看懂。這里我就不詳細拆解了,有基礎的小伙伴可以自己拆解。公式如下,按三鍵結束。

=MID(SUM(IFNA(MODE.MULT(IF(COUNTIF(A2:I2,ROW($1:$10)-1),ROW($1:$10)-{1,1}))/10^ROW($1:$9),)),3,9)

下圖是另一種方法,用的就是昨天說的進制轉換的方法。此方法是從雪神那里學來的。公式如下,按三鍵結束。

=SUBSTITUTE(BASE(SUM(10*16^10,IF(COUNTIF(A2:I2,ROW($1:$10)-1),ROW($1:$10)-1,10)*16^(10-ROW($1:$10))),16),"A",)

鏈接:

https://pan.baidu.com/s/1Axf2JtLbTkKrtxNQ8hlpJg

提取碼:7661大家有問題可以掃碼加微信群提問。最后希望你能幫我點贊、分享、在看(一鍵三連),這對我很有幫助,也是我持續更新的動力。

總結

以上是生活随笔為你收集整理的excel函数去重_将数字去重,然后按从小到大的顺序连接起来!的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。