将数字去重,然后按从小到大的顺序连接起来!
对于这个问题,不同版本的excel,会有不同的解决方法,当然难度也会不同。版本越高,难度越低;版本越低,难度越高。这就是工具的重要性。
如果没有office365的话,有文本连接函数concat和textjoin也是不错的,难度也会降低很多。因为在excel工作表函数中,文本连接函数是非常重要的,它很难通过其他函数的嵌套来达到文本连接的效果。
不像拆分这么容易,就算没有split函数,也能通过其他函数的嵌套来达到拆分的效果,比如mid+substitute+rept组合或者是filterxml。
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}。
如果你的excel版本没有文本连接函数,那么你最好升级一下版本,要么就提升一下自己的函数水平,或者是学一下其他excel技术,比如pq和vba等。此时只用工作表函数来做就有些难度了。
=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