Excel 对包含多个数字的单元格从小到大进行排序,数字之间用“/”或“,”分隔。

Excel 对包含多个数字的单元格从小到大进行排序,数字之间用“/”或“,”分隔。

我有一列数字

原始列表

我想按从最小到最大的数字对列表进行排序,但任何带有“/”或“,”的数字都会放在末尾。

排序列表

我怎样才能从小到大排序,其中带有“/”或“,”的数字也将在列表中排序,而不是排在最后?

我必须对数字从小到大进行排序,然后将选择扩展到左侧包含公司名称的列(未显示)。

答案1

尝试使用以下公式:

在此处输入图片描述


• 单元格中使用的公式C1

=LET(
     _Data, A1:A14,
     SORTBY(_Data,--TEXTSPLIT(SUBSTITUTE(_Data,",","/"),"/")))

  • 使用LET()函数有助于定义变量,从而减少重复范围/公式的使用。
  • 使用SUBSTITUTE()函数替换其中一个分隔符,这里我comma对进行了替换slash,以使其变得一致。
  • 使用TEXTSPLIT()分隔符斜杠来分割数据/,因此当使用TEXTSPLIT()它来分割数组时,它会将第一个分割值作为数组,并使用--双精度一元将其转换为 True 数字。
  • 现在,将上述内容放在一个SORTBY()函数中,_Data作为array排序时by the arrayTEXTSPLIT()使用函数A-ZSmallest-Largest按升序返回。

根据OP对帖子的编辑,以下内容应该没有任何问题,只需添加功能即可TAKE()

在此处输入图片描述


=LET(
     _Data, A1:B14,
     SORTBY(_Data,--TEXTSPLIT(SUBSTITUTE(TAKE(_Data,,-1),",","/"),"/")))

相关内容