我的连续数据看起来像这样 - >
5 0.1 3 0.5 9 17 1 0.1...
这些是两个一组,即0.1与5和5相关联。 0.5为3&等等
我想以两个为一组对行进行排序 - >
1 0.1 3 0.5 5 0.1 9 17
答案 0 :(得分:1)
这是一个真正的公式黑客,但它解决了您在面值时发布的问题。
有一点需要注意,如果数字中存在联系,这将无法像您的样本数据一样准确。
公式如下图所示:
=A1
,然后拖过跳过列=IF(ISBLANK(A5),A1,"")
,然后拖动所有列=IFERROR(RANK(A5,$A$5:$H$5),"")
,然后拖动所有列=IF(B4="",A4,"")
,然后拖动所有列=COUNT(A1:H1)/2
,其余列只是数学。=HLOOKUP(A9,$A$4:$H$5,2,0)
=HLOOKUP(B9,$A$6:$H$7,2,0)
答案 1 :(得分:1)
取决于实际数据结构的三种方法
方法1:
如果要排序的单元格不重复,则可以执行以下操作:
在A2中:
=A1
在B2中:
=IF(MOD(COLUMN(),2) = 0,A1+(B1/1000),B1)
然后拖动数据的整个宽度:
仅复制并粘贴第2行的值。然后在第2行水平排序:
然后你可以删除第2行
方法2:
如果有重复,那么这两个步骤将让您列出所需的
在A2中:
=IF(AND(MOD(COLUMN(),2),A1<>""),A1+(B1/10000),"")
在A3中:
=IFERROR(IF(MOD(COLUMN(),2),INT(SMALL(2:2,ROUNDUP(COLUMN()/2,0))),(SMALL(2:2,ROUNDUP(COLUMN()/2,0))-INT(SMALL(2:2,ROUNDUP(COLUMN()/2,0))))*10000),"")
并复制所有列。第3行将是您的排序列表:
此方法的优点是您可以在第一行中粘贴列表的值,它将在计算时计算正确的排序顺序。没有复制和粘贴公式。
方法3:
如果你想进入列路线,那么:
在一栏中写道:
=OFFSET($A$1,0,(ROW(1:1)-1)*2)
在第二个:
=OFFSET($A$1,0,(ROW(1:1)*2-1))
然后复制足以获得所有值。
然后将值复制并粘贴到任意位置,然后排序。