excel以2个

时间:2016-01-29 15:37:51

标签: excel sorting excel-formula

我的连续数据看起来像这样 - >

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

2 个答案:

答案 0 :(得分:1)

这是一个真正的公式黑客,但它解决了您在面值时发布的问题。

有一点需要注意,如果数字中存在联系,这将无法像您的样本数据一样准确。

公式如下图所示:

enter image description here

  1. A5 - > =A1,然后拖过跳过列
  2. A7 - > =IF(ISBLANK(A5),A1,""),然后拖动所有列
  3. A4 - > =IFERROR(RANK(A5,$A$5:$H$5),""),然后拖动所有列
  4. B6 - > =IF(B4="",A4,""),然后拖动所有列
  5. A9 - > =COUNT(A1:H1)/2,其余列只是数学。
  6. A10 - > =HLOOKUP(A9,$A$4:$H$5,2,0)
  7. B10 - > =HLOOKUP(B9,$A$6:$H$7,2,0)
  8. 复制A10:B10,每两列一次。

答案 1 :(得分:1)

取决于实际数据结构的三种方法

方法1:

如果要排序的单元格不重复,则可以执行以下操作:

在A2中:

=A1

在B2中:

=IF(MOD(COLUMN(),2) = 0,A1+(B1/1000),B1)

然后拖动数据的整个宽度:

enter image description here

仅复制并粘贴第2行的值。然后在第2行水平排序:

enter image description here

然后你可以删除第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行将是您的排序列表:

enter image description here

此方法的优点是您可以在第一行中粘贴列表的值,它将在计算时计算正确的排序顺序。没有复制和粘贴公式。

方法3:

如果你想进入列路线,那么:

在一栏中写道:

=OFFSET($A$1,0,(ROW(1:1)-1)*2)

在第二个:

=OFFSET($A$1,0,(ROW(1:1)*2-1))

然后复制足以获得所有值。

enter image description here

然后将值复制并粘贴到任意位置,然后排序。