单元格内数字升序排序时如何避免0被省略?
解决Excel单元格内数字排序时0被省略的问题
问题原因
你当前使用的公式中,1/(1/SMALL(...))的处理逻辑会过滤掉0:当SMALL函数提取到0时,1/0会生成错误值,触发IFERROR返回空字符串,最终TEXTJOIN拼接时便会跳过这个0。
修正后的公式
直接将排序后的数字转为文本格式,避免倒数逻辑带来的0过滤问题:
=TEXTJOIN(", ",1,IFERROR(TEXT(SMALL(FILTERXML("<a><b>"&SUBSTITUTE(A5,",","</b><b>")&"</b></a>","//b"),ROW($1:$99)),"0;-0;0"),""))
关键说明
TEXT(SMALL(...),"0;-0;0"):通过格式代码0;-0;0,确保正数、负数、0都能以原数字的文本形式保留,不会被错误过滤- 其余部分逻辑和原公式一致:用FILTERXML拆分单元格内的数字串,SMALL按从小到大排序,TEXTJOIN将排序后的结果拼接为目标格式字符串
内容的提问来源于stack exchange,提问作者Silke
相关产品推荐
相关产品推荐

