平常工作中,常会遇到多列数据,要合并成一列的情况。或者是多行数据合并成一行的情况。其实不管是多列变一列,或者多行变一行,方法都是差不多的。

我们使用OFFSET函数来完成这个工作。

offset函数以指定的引用为参照物,通过过给偏移量返回新的引用;

它一共有五个参数,offset(参照物,偏移的行数,偏移的列数,新区域的行数,新区域的列数);

这里我们只用到了前三个参数。

原始数据如下:

excel多列怎么转为一列(Excel通过公式多列转成一列)(1)

原始数据

可能需要得到两种不同的结果,一种是以行为基准来合并,另一种是以列为基准来合并。得到的结果如下:

excel多列怎么转为一列(Excel通过公式多列转成一列)(2)

转换的结果

两种不同的结果,需要使用不同的公式。

如第一种,公式如下:

=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

当然,除了使用公式外,还有其它别的方法也可以把多列合并成一列。后续再进行补充。

,