excel函数去重_将数字去重,然后按从小到大的顺序连接起来!
對于這個問題,不同版本的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函数去重_将数字去重,然后按从小到大的顺序连接起来!的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 只能匹配第一列吗_VLOOKUP会用了吗
- 下一篇: 怎么把cad的图导入ps_PS中怎么抠图