抱歉,问题太模糊了。让我解释一下。
我从公司的数据库中提取数据。其中一列是销售订单上的行号。但是,我们的系统的工作方式是,如果销售订单行项目由多个部分(一个组件)组成,那么每个部分都是一个具有自己编号方案的子集。
这些子项的编号方案在 Excel(以及普通人)中显示为小数。换句话说,SO 行 #38 中的子项 #12 在列中存储为“38.12”。因此,当我按此列排序时,我得到的顺序结果如下:
38.10 38.1 38.11 38.12 38.13
实际上,顺序应该是 38.1、38.2、38.3、...、38.10、38.11、38.12 等。我绝对不是程序员,但我认为对于你们中一些懂编程的人来说,这可能是一个简单的解决方案。我该如何正确排列这些行?
答案1
将列拆分为两列,并按小数列排序。这解释了如何 -http://excel.tips.net/Pages/T003836_Sorting_Decimal_Values.html
答案2
您可以通过使用 Excel 中的多列来解决这个问题。
取出 RAW 字符串,使用 SEARCH 函数查找小数点的位置。然后使用 LEFT 和 RIGHT 函数将小数点前后的字符串内容拆分到单独的单元格中。
最后,根据 LEFT 和 RIGHT 进行排序:
RAW LEN SEARCH LEFT RIGHT
31.1 4 3 31 1
31.2 4 3 31 2
31.3 4 3 31 3
31.4 4 3 31 4
31.5 4 3 31 5
31.11 5 3 31 11
31.12 5 3 31 12
31.14 5 3 31 14
31.25 5 3 31 25
SEARCH 列的公式:SEARCH(“.”,[RAW])
左列的公式:LEFT([RAW],[SEARCH]-1)
右列的公式:RIGHT([RAW],[LEN]-[SEARCH])
答案3
- 确保它们存储为文本而不是数字(选择单元格,右键单击,设置单元格格式,在“数字”选项卡中选择“文本”)。
- 数据 > 排序,确保标题行设置正确(查看选定的单元格),确定
- 现在您应该看到一个对话框询问“以下排序键可能无法按预期排序,因为它包含一些格式化为文本的数字:”,选择“对数字和存储为文本的数字分别进行排序”
完成此操作后,工具栏/功能区上的排序按钮应该可以按您希望的方式工作。
答案4
你会想要创建您自己的自定义列表在 Excel 中。创建自己的自定义列表后,您可以突出显示您的选择,单击排序按钮,然后选择自定义列表来对对象进行排序。
将其用作您的自定义列表:
.1
.2
.3
.4
.5
.6
.7
.8
.9
.10
.11
.12
.*
请按照以下步骤创建您自己的自定义列表:
要创建自定义列表,如果您使用的是 Excel 2007,请按照以下步骤操作:
1.单击 Office 按钮,然后单击“Excel 选项”。Excel 显示“Excel 选项”对话框。
2.确保对话框左侧的“热门”被选中。
3.单击“编辑自定义列表”。Excel 显示“自定义列表”对话框并隐藏“Excel 选项”对话框。(单击此处查看相关图。)
4. 从对话框左侧的自定义列表列表中选择新列表选项。
5.在对话框的列表条目部分,开始输入元素的排序顺序。
6.完成后,单击添加按钮。
7.单击“确定”完成。
如果您使用的 Excel 2007 之前的 Excel 版本,请按照以下步骤操作:
1.从“工具”菜单中选择“选项”。Excel 显示“选项”对话框。
2.确保已选择“自定义列表”选项卡。(单击此处查看相关图表。)
3. 从自定义列表列表中选择新列表选项。
4.在对话框的列表条目部分,开始输入元素排序的顺序。
5.完成后,单击添加按钮。
6.单击“确定”完成。