Excel中将区域数据转化成单行或单列中

Excel中将区域数据转化成单行或单列中

 

要将一个二维区域中的数据转化到单列或单行中,实现的方法有很多,例如用VBA就可以轻松完成。下面用公式来进行转化,也可以实现目的。

    例如有一个13行8列的区域,我们要将其中的姓名转化到一列中,步骤如下:

       

    1.定义名称

    将这个区域定义一个名称,以便在公式中引用。选择该区域,在名称框中输入“Data”,按回车键,名称就定义好了。

    然后选择需要放置该名单所在列的第一个单元格,用同样方法定义名称为“FirstData”。

    2.保持选择该单元格,在其中输入公式:

    =OFFSET(Data,MOD(ROW()-ROW(FirstData),ROWS(Data)),TRUNC((ROW()-ROW(FirstData))/ROWS(Data),0),1,1)

    3.拖动填充柄向下填充即可。

   

    该公式是按照逐列的方法来提取数据的,用到OFFSET函数,用MOD(ROW()-ROW(FirstData),ROWS(Data))来确定偏移的行数,用TRUNC((ROW()-ROW(FirstData))/ROWS(Data),0)来确定偏移的列数。

    也可以按照逐行的方法来提取数据,公式如下:

    =OFFSET(Data,TRUNC((ROW()-ROW(FirstData))/COLUMNS(Data),0),MOD(ROW()-ROW(FirstData),COLUMNS(Data)),1,1)

    如果要把区域中的数据转化到一行中,可以用下面的两个公式,假设第一个单元格名称定义为“FirstData”。

    用逐行提取数据的方法:

    =OFFSET(Data,TRUNC((COLUMN()-COLUMN(FirstData))/COLUMNS(Data),0),MOD(COLUMN()-COLUMN(FirstData),COLUMNS(Data)),1,1)

    用逐列提取数据的方法:

    =OFFSET(Data,MOD(COLUMN()-COLUMN(FirstData),ROWS(Data)),TRUNC((COLUMN()-COLUMN(FirstData))/ROWS(Data),0),1,1)

 

来源:excel技巧天地

推荐阅读

    excel在B列中对A列数据进行排名

    excel在B列中对A列数据进行排名,数据,排列,函数,解答,方法,再排,中对,excel在B列中对A列数据进行排名 在A列有一组数据不是按照大小顺序

    excel一次性删除所有的重复数据

    excel一次性删除所有的重复数据,重复数据,删除,一次性,重复,编号,数据,清除,excel一次性删除所有的重复数据 1)在下图中的B2单元格输入公

    Excel禁止输入重复数据的技巧

    Excel禁止输入重复数据的技巧,重复数据,禁止输入,选项卡,单击,选择,数据,菜单,Excel禁止输入重复数据的技巧 1)选定A列,单击菜单[数据]—[有

    Excel单元格数据有效性设置

    Excel单元格数据有效性设置,设置,数据有效性,提示信息,输入,数据,格中,数字,Excel单元格数据有效性设置 在Excel 中新增了对输入增加

    清除Excel单元格中的数据

    清除Excel单元格中的数据,格中,数据,单元,清除,删除,选择,位置,清除Excel单元格中的数据 清除单元格和删除单元格不同。清除单元格只是从

    改变excel数据的颜色和图案

    改变excel数据的颜色和图案,数据,对话框,单击,选项,网格,工具,中后,改变excel数据的颜色和图案 当进入到一个新的工作表中后,都会看到在工

    excel对多个选定区域求和

    excel对多个选定区域求和,区域,方法,单击,输入,选择,北京,操作过程,excel对多个选定区域求和 此外,还可以利用选定操作中的对多个区域

    使用条件格式化excel单元格数据

    使用条件格式化excel单元格数据,格式化,数据,条件,删除,格式,格中,选择,使用条件格式化excel单元格数据 所谓条件格式化是指:规定单元