一列转多列,可以有很多种排列顺序,今天这种顺序可以理解为一种特别的序列号。
案例:
将下图 1 中的姓名按 C、D 列的排列顺序转换成两列,效果如下图 2 所示。
解决方案:
首先我们先要理解数字的排列用公式怎么实现。
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……
搞懂了这个公式原理,我们再基于此基础上套用 offset 函数,从而将数字替换成列表中的姓名。
2. 将 C2 单元格中的公式修改如下 --> 向右向下拖动公式:
=OFFSET($A$1,ROW(A1)*2-2 COLUMN(A1),)
公式释义:
- offset 函数的作用是返回指定行数和列数的区域,语法为 offset(起点,要偏移的行数,要偏移的列数,[引用的高度],[引用的宽度]);
- 这里的公式含义为以 A1 单元格为起点,偏移行数为第二个参数的结果,列不偏移;第二个参数就是步骤 1 中的公式
3. 给结果数据表添加标题和框线。
评论 (0)