美文网首页
Excel-多列合并成1列

Excel-多列合并成1列

作者: 南瓜土豆饼 | 来源:发表于2016-08-10 00:06 被阅读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即可。

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

    相关文章

      网友评论

          本文标题:Excel-多列合并成1列

          本文链接:https://www.haomeiwen.com/subject/ljidsttx.html