如何将一列数据变成三列?没有 365 版本的同学别犯愁,公式绝不难。
案例:请将下图 1 中 A 列的数据表转置成 3 列,按先横后竖的顺序排列。
效果如下图 2 所示。
1. 在 B2 单元格中输入以下公式 --> 下拉复制公式,直至最后一个人名为止:
=OFFSET(A$2,(ROW()-2)*3,0)
公式释义:
(ROW()-2)*3:
row () 表示返回当前单元格的行号,即 2;
2-2=0;
0*3=0;
OFFSET(A$2,...,0):
offset 函数的作用是返回对单元格或单元格区域中指定行数和列数的区域的引用;
第一个参数表示起点,第二、第三个参数分别是需要偏移的行、列数;
此时偏移的行、列数均为 0,于是返回 A2 单元格的值;
当公式下拉来到 B3 单元格,row() 变成了 3,(3-2)*3=3,于是向下偏移 3 行,提取 A5 单元格的值;
以此类推……
* A$2 单元格的行号需要绝对引用,这样可以确保每一行公式都是以 A2 单元格作为偏移的起点。
2. 在 C2 单元格中输入以下公式 --> 下拉复制公式:
=OFFSET(A$3,(ROW()-2)*3,0)
公式释义:
这个公式与 B 列的公式几乎一样,唯一的区别是将偏移的起点往下移了一行,变成了 A3 单元格,这样就可以提取出所有的月份了;
3. 在 D2 单元格中输入以下公式 --> 下拉复制公式:
=OFFSET(A$4,(ROW()-2)*3,0)
公式释义:
公式还是一样的原理,只是起点变成了 A$4 单元格。