Excel-多列合并成1列

2016-08-10  本文已影响495人  南瓜土豆饼

上周听技术部分享简书的时候,基本处于听不懂状态,于是暗暗决定本周也要写篇技术类的,最好也让技术人员看不懂。哈哈。。。

题目是上周就想好的,其实连下周的题目也想好了。就看到时候有没有空去深入寻找答案了。

一、问题描述

最近在研究如何把多列excel变成一列,如下图所示。

4列变1列

可能有些人会说,三次复制转置黏贴即可。对于数据少是可以的,当数据很多的时候,就不行了。于是我就百度了一下,看有没有什么好的方法,用公式来实现它。

终于功夫不负有心人,找到了答案,但是理解答案花了不少时间。接下来就来和大家分享一下。

二、函数讲解

首先说一下答案:=OFFSET($A$1,INT((ROW()-1)/4),MOD(ROW()+3,4))

这个公式里牵涉到4个函数,分别是OFFSET,INT,ROW,MOD,接下来就分别介绍一下他们是什么意思。

1、OFFSET函数:引用某个单元格或区域,它的语法是
OFFSET(reference,rows,cols,height,width),举个例子大家就能明白。

OFFSET函数举例.png

通俗点说,以A1为起点,向下移动2行,向右移动两列,区域为1的单元格。
例子是以A1(1)向下移动2行(9)向右移动2(11)就是11。

2、ROW函数:返回行数,它的语法是ROW(),举个例子

ROW函数举例.png

C2所在的单元格是在第2行,所以ROW(C2)=2
展开一下,COLUMN()为返回列数,所以COLUMN(C2)=3

3、INT函数:取整函数,举例:INT(0.5)=0

4、MOD函数:求余函数,举例:MOD(5,2)=1

三、题目分析

根据OFFSET函数,如果一个一个写,就如同下图,然后分析一下规律。


Paste_Image.png

分析:第一个数字,每4个递增1,后面一个数字为0-3循环。

第一个数字可以通过:INT((ROW(A1)-1)/4)来实现;
第二个数字可以通过:MOD(ROW(A1)+3,4)来实现;

写好第一个公式下拉即可。

其实这个方法我还真想不出来,需要根据数字的变化来找规律。如果是5列变1列,那就把4改为5,+3变为+4即可。

以上就是我本周的简书分享,希望有人能看懂吧!

上一篇下一篇

猜你喜欢

热点阅读