迈克尔经营一家卡拉OK公司,并使用Excel创建他的歌本。

该工作表包含三列,分别是歌曲编号,歌曲标题和艺术家。当按艺术家或标题对歌本进行排序时,Michael遇到了奇怪的行为。

例如,当他按艺术家进行分类时,第311组将出现在两个不同的位置-他们的四首歌曲放在乐队112之后和702之前,然后将其余歌曲排在3 Hearts之后和38 Special之前。然后,按歌曲排序时,George Strait的歌曲“ True”总是以列表中的最后一首结尾。

显然,这并不是迈克尔希望看到排序时发生的情况。但是,发生这种情况的原因是Excel解释每个单元格中信息的方式。当您在单元格中输入信息时,Excel尝试解析该信息并确定它是数字,日期还是文本。碰巧Excel在某些组和歌曲名称方面“猜错了”。

当您输入组311时,Excel会将其视为一个数字,因此会将其视为数字。同样,当您输入歌曲标题“ True”时,

Excel认为是布尔值-一个数字。 (如果您有一首名为“ False”的歌曲,也会做同样的事情。)

在执行排序时,Excel首先按数据类型排序,然后在数据类型内排序。 112和702是数字。 “心中的3个”和“ 38个特殊”是文本,因为它们不只包含数字。当按艺术家排序时,组311出现在两个不同的位置,因为组名称在某些情况下是由Excel解析为数字,而在其他情况下是由文本解析。

要了解如何纠正异常行为,重要的是要了解该行为并非真正的异常。这是Excel使用的逻辑。如果要获得不同的结果,则必须使用数据以确保Excel不会错误地分析数据。

首先,如果您按升序排序,则单元格中的值将按以下数据类型排序:

  • 递增数值(1、2、3等)

  • 文字按字母顺序排列(a,b,c等)。如果文本以数字开头(如38 Special),则3作为文本出现在ABC之前。

  • 逻辑值(假,真)

  • 错误值(#DIV / 0!,#N / A等)

  • 空白

如果按降序排序,则该顺序与此处显示的顺序相反,只是空白仍作为最后排序的数据类型出现。

通过删除单元格中任何明确的对齐方式,您可以更好地查看Excel分配给各个单元格的数据类型。默认情况下,文本值左对齐,数字右对齐,布尔值和错误值居中。

为了使事情按您想要的方式排序,您只需要确保一列中的所有单元格都包含相同类型的数据即可。对于艺术家和歌曲标题,这都是文本。在按数字排序的单元格中(例如311),编辑单元格以将撇号放在数字中的第一个数字之前。这告诉Excel您希望将单元格的值视为文本。您也可以使用“ True”执行相同的操作。

_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

本技巧(10767)适用于Microsoft Excel 2007、2010、2013、2016、2019和Office 365中的Excel。您可以在此处为Excel的较早菜单界面找到此技巧的版本: