在 Excel 中将列表排序为元组

在 Excel 中将列表排序为元组

有没有办法将列表排序为 Excel 中优先级列表定义的元组?

例如,我会进行抽签来确定优先级:

Banana -> 1
Apple -> 2
Tomato -> 3

我有一张随机排序的数据表:

Tomato
Banana
Banana
Tomato
Apple
Tomato
Banana
Apple
Banana
Banana

现在我想按照优先级列表排序成元组以获得以下结果:

Banana
Apple
Tomato
Banana
Apple
Tomato
Banana
Tomato
Banana
Banana

只要数据列表中的值存在,元组就是完整的。

答案1

假设您的“随机排序数据”从 B1 开始,请输入以下公式:

C1  ---->  =COUNTIF($B$1:B1,B1)+INDEX({1,2,3},MATCH(B1,{"Banana","Apple","Tomato"},0))/10
D1  ---->  =RANK(C1,C:C,1)
F1  ---->  =ROW()
G1  ---->  =INDEX(B:B,MATCH(F1,D:D,0))

并向下拖动。完成。

想法:使用 rank() 与 countif() 和 index-match 来生成预期的主序列和次序列。

希望它能解决。(:

相关内容