鲍勃经常需要构建以政府法规标题为关键词的表格。法规编号为十进制格式,这在他尝试按顺序对其进行排序时会产生问题。

例子是820.20、820.25、820.200、820.250。鲍勃(Bob)将它们作为文本输入,但是它们仍然以他不想要的方式排序。在所有情况下,Excel都会删除结尾的零,并将“ 820.20”和“ 820.200”视为同一对象;鲍勃想知道他能做什么。

首先,应该指出的是,如果Excel删除尾随零,则单元格将不设置为文本格式。您需要将单元格的格式设置为文本_before_,然后在其中放置任何内容,否则您需要在条目前加上撇号。无论哪种情况,尾随零都应保留在原位。

将条目强制转换为文本的另一种方法是以某种方式对其进行修改。

例如,您可以输入“ Reg 820.200”而不是“ 820.200”。或者,您可以用空格或破折号代替820之后的句点。这些方法中的任何一种,甚至更多,都将迫使该条目被视为文本。

但是,即使您将信息输入文本,也无法解决排序问题。排序一堆这些单元格,它们仍然会以您不希望的顺序出现:

820.190 820.2 820.20 820.200 820.201 820.25 820.27

原因是因为排序是从左到右进行的,在此方案中,“。20”将始终位于“ .200”之前,而“ .200”始终位于“ .25”之前。解决此问题的唯一方法是修改数字的结构,以便(在这种情况下)小数点后总是三位数字:

820.002 820.020 820.025 820.027 820.190 820.200 820.201

虽然这给出了正确的排序顺序,但它确实破坏了最初的意图:匹配政府编号系统中使用的编号。如果您想遵守该编号方案,唯一的解决方案是使用三列进行编号。第一列是政府编号,以文本形式输入。第二列是小数点左边的那些数字的部分,由以下公式得出:

=LEFT(A1,FIND(".",A1)-1)

第三列将是小数点右边的部分,由以下公式得出:

=RIGHT(A1,LEN(A1)-FIND(".",A1))

在三列就位之后,您可以根据第二列和第三列的内容进行排序。对数字进行排序后,您可以根据需要隐藏第二和第三列。

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

本技巧(3836)适用于Microsoft Excel 97、2000、2002和2003。可以在以下功能区中为Excel的功能区界面(Excel 2007及更高版本)找到本技巧的版本: