这是排序之前的样子
0,
1 to 4,
10 to 19,
100 to 249,
1000 and up,
20 to 49,
250 to 499,
5 to 9,
50 to 99,
500 to 999,
Grand Total
我需要它看起来像这样:
0,
1 to 4,
5 to 9,
10 to 19,
依旧......
我见过类似的问题,他们使用数组。我还不熟悉数组。有什么想法吗?
答案 0 :(得分:1)
我假设您确实有一个字符串值为“0”,“1到4”等的列表,我会回答这个问题。
您可以创建第二个关联列,该列使用查找对第一列进行排名,以进行某种映射...
0 -> 0
"1 to 4" -> 1
"5 to 9" -> 2
etc.
这将在您的表中实现,类似于以下内容:
╔═══════════╦═══════╗
║ Input ║ Value ║
╠═══════════╬═══════╣
║ "0" ║ 0 ║
║ "1 to 4" ║ 1 ║
║ "5 to 9" ║ 2 ║
╚═══════════╩═══════╝
然后您可以使用VLookup来设置列,就像Fink用“帮助列”说的那样。 然后,使用类似下面的内容可以非常容易地计算辅助列的值:
=VLOOKUP(text,lookup_table,2,0)
因此,如果您的查找表位于A2:B8
,并且您的值列位于C中,并且要从第10行开始对表进行排序,您可能会得到类似这样的内容
=VLOOKUP($C10,$A$2:$B$8,2,0)
设置VLookup“参考”列后,将数据格式化为表格,然后按照您创建的新列进行排序应该是微不足道的。
More on VLookup()
实际VLookup reference,由微软提供。
答案 1 :(得分:0)
一般的想法是根据类别以及如何对它们进行排序来定义基于整数的SortOrder
方案或辅助列。然后你就可以使用内置的excel排序功能而不会有太多麻烦。例如,0,
类别的排序顺序值为1
,1 to 4,
类别的排序顺序为2
,依此类推。