伏津 发表于 2021-12-21 17:32:00

按指定要求对数字字符串去重后升序排序



相比,数据源多了许多空格和重复内容。再请大佬们 编写个能够对数据源A列里的数字字符串,忽略空格并去重后,按照从小到大、从短到长的顺序进行排序,得出如模拟结果B列所示结果的函数公式。谢谢了!

崔医生 发表于 2021-12-25 19:05:06

冀盼大佬们帮忙编写公式。谢谢!

苦泉 发表于 2021-12-27 21:01:03

=MID(SMALL(--IF((MATCH(1&$A$5:$A$475,1&$A$5:$A$475,)*($A$5:$A$475<>""))=ROW($1:$471),1&$A$5:$A$475,9^9),ROW(A1)),2,9)
参照 奇文说大佬的再改一下即可。。。

天雅家装馆 发表于 2021-12-28 08:12:48

大佬:您公式的计算结果C5:C67与模拟结果完全相同,但怎样屏蔽C68以下所有不符合要求的错误结果(即:87420489
)为空白呢?我在外面套了个IFERROR(......,"")仍然显示87420489。

小小小小鸟 发表于 2021-12-29 07:46:39

大佬:怎样屏蔽C68以下所有不符合要求的错误结果(87420489
)为空白?

火车姐 发表于 2022-1-2 20:02:11

=LET(x,UNIQUE(FILTER(A5:A475,A5:A475<>"")),SORTBY(x,LEN(x),1,x,1))

雲霁 发表于 2022-1-7 01:20:55


我要的是EXCEL2019,您写的公式提示该函数无效

叶子溪 发表于 2022-1-7 17:12:27

没发现您在哪提2019了

扁哥 发表于 2022-1-11 14:02:05

对不起,让大佬费心了。

东方树叶 发表于 2022-1-12 06:49:32

这个写得有点繁琐了=INDIRECT("A"&MOD(SMALL(IFERROR(IF((A$5:A$475<>"")*(MATCH(A$5:A$475,A$5:A$475,)=ROW($1:$471)),LEN(A$5:A$475)*10^10+A$5:A$475*1000+ROW($5:$475)),10^30),ROW(A1)),1000))
页: [1] 2 3 4
查看完整版本: 按指定要求对数字字符串去重后升序排序