如何将区域内的每两行数据上下颠倒,但总的排序顺序不要受影响?今天教两种方法。

案例:

将下图 1 中所有连续的两行值区域上下对调,总的排序顺序不要变。

效果如下图 2 所示。

Excel总体排序不变的情况下,如何将数据表中相邻的上下行两行互换?-趣帮office教程网

Excel总体排序不变的情况下,如何将数据表中相邻的上下行两行互换?-趣帮office教程网

解决方案 1:

这种方法非常简单直接。

1. 在 D2 至 D4 单元格中依次输入 2、1、3。

Excel总体排序不变的情况下,如何将数据表中相邻的上下行两行互换?-趣帮office教程网

2. 在 D5 单元格中输入公式 =D2 3 --> 下拉复制公式

* 3 是 D2 与 D5 单元格之间的相差的行数。至少要 3,才能确保 D5 单元格的值比 D4 单元格大。

Excel总体排序不变的情况下,如何将数据表中相邻的上下行两行互换?-趣帮office教程网

Excel总体排序不变的情况下,如何将数据表中相邻的上下行两行互换?-趣帮office教程网

Excel总体排序不变的情况下,如何将数据表中相邻的上下行两行互换?-趣帮office教程网

3. 选中 D 列的任意值 --> 将其按升序排序

Excel总体排序不变的情况下,如何将数据表中相邻的上下行两行互换?-趣帮office教程网

排序轻易完成。

Excel总体排序不变的情况下,如何将数据表中相邻的上下行两行互换?-趣帮office教程网

解决方案 2:

公式控可以学习一下这种方法。

1. 在 D2 单元格中输入以下公式 --> 下拉复制公式:

=(MOD(ROW(),3)=0)*1.5

公式释义:

  • MOD(ROW(),3)=0:将行号除以 3,用 mod 函数计算余数;判断余数是否等于 0,即行号是否是 3 的整数倍;
  • ...*1.5:将上述判断结果 true 或 false 放大 1.5 倍,3 的整数行结果会变成 1.5,其他则为 0;

Excel总体排序不变的情况下,如何将数据表中相邻的上下行两行互换?-趣帮office教程网

Excel总体排序不变的情况下,如何将数据表中相邻的上下行两行互换?-趣帮office教程网

Excel总体排序不变的情况下,如何将数据表中相邻的上下行两行互换?-趣帮office教程网

2. 选中 E2:E18 区域 --> 输入以下公式 --> 按 Ctrl Enter:

=ROW()-D2

Excel总体排序不变的情况下,如何将数据表中相邻的上下行两行互换?-趣帮office教程网

Excel总体排序不变的情况下,如何将数据表中相邻的上下行两行互换?-趣帮office教程网

3. 给 D、E 列添加标题。

Excel总体排序不变的情况下,如何将数据表中相邻的上下行两行互换?-趣帮office教程网

4. 选中 E 列的任意单元格 --> 将其按升序排序

Excel总体排序不变的情况下,如何将数据表中相邻的上下行两行互换?-趣帮office教程网

也同样实现了案例需求。

Excel总体排序不变的情况下,如何将数据表中相邻的上下行两行互换?-趣帮office教程网