如何在Excel 2010中执行自定义sorting
这是sorting之前的样子
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到4”等string
您可以创build第二个关联列,使用查找来排列第一列,以进行一种映射…
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行开始对表进行sorting,你可能会得到类似的结果
=VLOOKUP($C10,$A$2:$B$8,2,0)
设置VLookup“引用”列之后,将数据格式化为表格,然后按照您创build的新列进行sorting应该很简单。
更多关于VLookup()
实际VLookup参考 ,由Microsoft提供。
一般的想法是根据类别定义基于整数的SortOrder
scheme或帮助列,以及如何对它们进行sorting。 那么你可以使用内置的Excelsortingfunction,没有太多的麻烦。 因此,例如, 0,
类别的sorting顺序值为1 to 4,
类别的sorting顺序为2
,依此类推。