一列转多列,可以有很多种排列顺序,今天这种顺序可以理解为一种特别的序列号。

案例:

将下图 1 中的姓名按 C、D 列的排列顺序转换成两列,效果如下图 2 所示。

用设置序号的思路将Excel一列变两列-趣帮office教程网

用设置序号的思路将Excel一列变两列-趣帮office教程网

解决方案:

首先我们先要理解数字的排列用公式怎么实现。

1. 在 C2 单元格中输入以下公式 --> 向右向下拖动复制公式:

=ROW(A1)*2-2 COLUMN(A1)

公式释义:

  • ROW(A1)*2-2:
    • ROW(A1) 返回 A1 的行号 1;随着公式下拉,行号以步长 1 顺序递增;
    • ...*2:将上述顺序号 *2,纵向数字为 2、4、6、8……
    • ...-2:数字变成 0、2、4、6……
  • ... COLUMN(A1):
    • 当向下拖动时,column 的结果不变,始终为 1,与上述数字相加后就变成了 1、3、5、7……
    • 向右拖动的话,column 会以步长 1 递增,于是第二列就变成了 2、4、6、8……

用设置序号的思路将Excel一列变两列-趣帮office教程网

用设置序号的思路将Excel一列变两列-趣帮office教程网

用设置序号的思路将Excel一列变两列-趣帮office教程网

搞懂了这个公式原理,我们再基于此基础上套用 offset 函数,从而将数字替换成列表中的姓名。

2. 将 C2 单元格中的公式修改如下 --> 向右向下拖动公式:

=OFFSET($A$1,ROW(A1)*2-2 COLUMN(A1),)

公式释义:

  • offset 函数的作用是返回指定行数和列数的区域,语法为 offset(起点,要偏移的行数,要偏移的列数,[引用的高度],[引用的宽度]);
  • 这里的公式含义为以 A1 单元格为起点,偏移行数为第二个参数的结果,列不偏移;第二个参数就是步骤 1 中的公式

用设置序号的思路将Excel一列变两列-趣帮office教程网

用设置序号的思路将Excel一列变两列-趣帮office教程网

3. 给结果数据表添加标题和框线。

用设置序号的思路将Excel一列变两列-趣帮office教程网