我有一个 500 多行的盒子尺寸电子表格,我需要按从最小盒子到最大盒子的顺序排列。
我有一个辅助列:
=1*LEFT(D2,FIND(" ",D2)-1)
另一个辅助列
+MID(D2,M2,FIND("X",D2,M2)-M2)
我不知道如何处理最后一个维度,以及如何让它按 1,2,3......10,11,12 排序,而不是 1,10,11,2,22 等排序?
以下是电子表格中尺寸的一个小样本。
5 X 5 X 10
5 X 5 X 3
5 X 5 X 4
6 X 4 X 3-1/2
6-3/4 X 6-3/4 X 12-1/8
6-3/4 X 6-3/4 X 7-3/4
非常感谢你的帮助。
答案1
您可以使用一个公式并将其拖到三列上,然后将所有三列拖到列表中:
=--SUBSTITUTE(TRIM(MID(SUBSTITUTE($D1,"X",REPT(" ",999)),(COLUMN(A1)-1)*999+1,999)),"-"," ")
从内部开始:
SUBSTITUTE($D1,"X",REPT(" ",999))
创建一个在三个测量值之间具有较大空格的字符串。
MID(...,(COLUMN(A1)-1)*999+1,999)
将从该字符串中选择 999 个字符。第一列中的第一个 999 个字符,然后以此类推。
TRIM(...)
删除所有多余的空格。
SUBSTITUTE(...,"-"," ")
将 改为-
空格。这会将分数转换为 Excel 可以识别的形式。
--
将字符串转换为数字。
现在按顺序对三列进行排序。