Excel-忽略降序排序中的空格

Excel-忽略降序排序中的空格,excel,sorting,excel-formula,Excel,Sorting,Excel Formula,在附件中,当我按降序对C列进行排序时,它会将空格放在顶部。这不应该发生 列D只是复制为列C的值,排序在列D中工作良好 所以我猜我在C列的公式有问题 文件链接: 我使用的公式:=IFA3=,IFISERRORMATCHTRIMS$A3,$G$4:$G$8,0,$B3,这是由空字符串和空单元格之间的差异引起的 公式的结果是空字符串,它与空单元格中的nothing不同 在排序时,Excel会忽略真正的空单元格,而空字符串实际上是一个仅包含空字符串字符的字符串,并包含在排序中 我怀疑D列之所以能够正确排

在附件中,当我按降序对C列进行排序时,它会将空格放在顶部。这不应该发生

列D只是复制为列C的值,排序在列D中工作良好

所以我猜我在C列的公式有问题

文件链接:


我使用的公式:=IFA3=,IFISERRORMATCHTRIMS$A3,$G$4:$G$8,0,$B3,

这是由空字符串和空单元格之间的差异引起的

公式的结果是空字符串,它与空单元格中的nothing不同

在排序时,Excel会忽略真正的空单元格,而空字符串实际上是一个仅包含空字符串字符的字符串,并包含在排序中

我怀疑D列之所以能够正确排序,是因为您仅从C列复制了具有正常值的单元格。如果您复制了整个列,包括看起来像空白单元格的内容,则问题仍然存在,因为您还复制了空字符串字符

在值列中,如在D列中一样,可以使用带有分隔符选项的文本到列工具删除空字符串,并取消选择所有分隔符。与将存储为文本的数字转换为实际数字的方式相同

然而,对于C列中的公式,无法告诉Excel什么也不返回

作为一种解决方法,如果只有正值,可以更改公式以返回值0而不是空字符串。因此,在降序排序时,0值将放在底部

然后,还可以通过更改列的数字格式来隐藏0值:

选择数据表中的整列 格式化单元格。。。 在“编号”选项卡上,在类别中选择“自定义” 手动将类型值从0.00更改为0.00-0.00; 此格式表示要显示:

小数点后两位的正数 负数,小数点后2位,前面带负号 零作为空白
如果您需要能够按照升序或降序进行排序,那么我想不出一个简单的解决方案

下一个最简单的解决方案可能只是应用一个自动过滤器来排除空白,这实际上消除了空字符串

如果要通过VBA实现自动化,我认为最简单的方法是先升序排序,应用过滤器删除空字符串,然后降序排序


您还可以加入前10名过滤器。

为什么不在问题中发布您的公式,而不是让我们下载您的文件?@K.Dᴀᴠɪs用公式更新了我的问题谢谢你的回答。我同意你的看法。实际上,我需要在该列中使用升序排序,并通过VBA复制前10名。我将创建两列,一列显示升序排序的大值,另一列显示降序排序的负值。如果你有更好的主意,请告诉我。