平常工作中,常会遇到多列数据,要合并成一列的情况。或者是多行数据合并成一行的情况。其实不管是多列变一列,或者多行变一行,方法都是差不多的。
我们使用OFFSET函数来完成这个工作。
offset函数以指定的引用为参照物,通过过给偏移量返回新的引用;
它一共有五个参数,offset(参照物,偏移的行数,偏移的列数,新区域的行数,新区域的列数);
这里我们只用到了前三个参数。
原始数据如下:
原始数据
可能需要得到两种不同的结果,一种是以行为基准来合并,另一种是以列为基准来合并。得到的结果如下:
转换的结果
两种不同的结果,需要使用不同的公式。
如第一种,公式如下:
=OFFSET($A$1,MOD(ROW(A1)-1,6),ROUNDUP(ROW(A1)/6,0)-1)
直接下拉填充公式即可。
第二种结果的公式如下:
=OFFSET($A$1,(ROW(A1)-1)/5,MOD(ROW(A1)-1,5))
同样直接下拉填充公式即可。
公式的参照单元格为$A$1,后面通过固化行或列来进行对应的填充。这里不做过多的解释了。抹黑公式中的函数部分,按F9就能返回对应的结果,稍等比对一下就出来的。或者把公式中的函数单独提取出来,就可以看到行和列的变化了,如下图所示:
行 | 列 |
0 | 0 |
1 | 0 |
2 | 0 |
3 | 0 |
4 | 0 |
5 | 0 |
0 | 1 |
1 | 1 |
2 | 1 |
3 | 1 |
4 | 1 |
5 | 1 |
0 | 2 |
1 | 2 |
2 | 2 |
3 | 2 |
4 | 2 |
5 | 2 |
0 | 3 |
1 | 3 |
2 | 3 |
3 | 3 |
4 | 3 |
5 | 3 |
0 | 4 |
1 | 4 |
2 | 4 |
3 | 4 |
4 | 4 |
5 | 4 |
当然,除了使用公式外,还有其它别的方法也可以把多列合并成一列。后续再进行补充。