需求非常简单,但是放在过去,是一个难题,我们先使用传统的方法处理一下公式:=IF(ISERR(FIND(0,A2)),"",0)&SUBSTITUTE(SUM(ISNUMBER(FIND(ROW($1:$10)-1,A2))*(ROW($1:$10)-1)*10^(10-ROW($1:$10))),0,)公式思路:0单独考虑,查找1-9在单元格是否存在,如果存在就他们乘以1-9对应10的(1-9)次方的值,然后相加,本质就是让1-9在对应的位置。可能部分部分数值没有出现,那么就会多出这些占位的0,所以我们要把0替换掉! 比如:1*10^2+2*10^1+3*10^0=100+20+3 =123,这样的一个思路 公式:=CONCAT(SORT(UNIQUE(MID(A2,ROW($1:$99),1))))我们一共使用了3个新增函数,分别是CONCAT、SOTR和UNIQUE 如果直接翻译那就是唯一的意思,其功能也是如此,就是去重保留唯一值 从官方的帮助来看,主要支持数组这点值得关注,第二参数主要是按行还是按列比较,这个不难理解 第三参数,如果设置为TRUR,就是获取没有重复出现的值,FALSE就是全部内容去重! 4参数1必选3可选,主要关注一下第一参数和第三参数,第三参数默认升序,如果要降序写成-1,第二和第四都是观察数据源的布局是按行还是列,一般我们都是列,所以基本不用太关注! 看到这个函数,你可能就想到了CONCATENATE,这个历史上最鸡肋的函数,没有之一。但是CONCAT不同,核心就在于他的参数支持数组,这将为我们扩展引用带来很多可能!稍微总结一下,这三个函数,整体来说,他们都支持数组,这点是他们强大的地方,一个函数一旦参数支持数组,那么他的可扩展将大大提升! 更新到365版本的同学动手试试吧,低版本的同学可以研究一下传统的方式!
|