精华内容
下载资源
问答
  • 在平时实验过程中手工录入数据或部分软件导出数据(如紫外分光光度计)均编号一列,吸光值一列,很行,由于可能存在个重复并未给区分开,只有在实验过程中按照顺序记录,因此就需要后期划分同一样本之间的个...

    提示:经过VBA 宏操作过的excel数据是不可以Ctrl + z 进行操作撤销的,在进行操作之前一定要备份数据或者复制sheet操作!!!

    一、背景

    在平时实验过程中手工录入数据或部分软件导出数据(如紫外分光光度计)均为编号一列,吸光值一列,很多行,由于可能存在多个重复并未给区分开,只有在实验过程中按照顺序记录,因此就需要后期划分同一样本之间的多个重复(生物/技术),如图一;但当数据量较多且指标较多时,此法手工过于劳累,因此可以采用VBA 程式在excel里完成,此程式有具体说明,不懂得VBA编程的也可以根据提示更改以适用。图一 数据划分样式

    二、程序说明

    Sub 一列多行数据变为多行多列()
    '
    ' 宏3 宏
    ' it表示从哪一行开始,step表示几行分为一列
    
    '
    Dim it As Integer
    For it = 2 To 137 Step 4
        Range("B" & it).Select
        Application.CutCopyMode = False
        Selection.Cut
        ActiveSheet.Paste
        Range("B" & it + 1).Select
        Selection.Cut
        Range("C" & it).Select
        ActiveSheet.Paste
        Range("B" & it + 2).Select
        Selection.Cut
        Range("D" & it).Select
        ActiveSheet.Paste
        Range("B" & it + 3).Select
        Selection.Cut
        Range("E" & it).Select
        ActiveSheet.Paste
    Next
    
    End Sub
    
    1. 具体宏的打开与使用可以参考我的启动子那篇文档,复制以上代码,选择你需要运行代码的sheet,根据自己的数据结构及数量更改代码块里的数字,运行即可
    2. 图二表示的是代码块对应的单元格数据的转换方式;黑红颜色表示多列多行之间的转换,无关紧要,图三会有更改步骤。图二 代码块如何工作
    3. 当代码复制进去之后;需要注意的就是图三中点亮的位置;B表示从B列的数据转换,2表示从第二行,那么也就是B2这个单元格开始向下4个单元格数据会被分别剪切 粘贴到C2、D2、E2单元格中,一次循环,Step 4为不长,因为我们已经处理了4个单元格,需要跳过已经处理的四个单元格从第五个开始继续处理,选择步长为4;如果你是10 个数据单元格待处理,不仅需要将4更改为10 还需要在黄色标记的代码块之后按照规律增加更多的单元格剪贴-粘贴代码,参考黄色标记上的代码,只需更改it + 4/5/6/7/。。。和"F/G/H…" & it即可。图三 数据更改步骤

    三、 结果展示

    实现之后,代码块中并没有多余的功能,因此到此就结束了,仅仅是帮助减少了手动量;切记宏处理过的数据不可撤销;请提前备份或者复制sheet,在复制后的sheet中操作,避免原始数据造成不可恢复的惨状,切记切记。
    图四 结果展示

    四、疑问

    如有疑问欢迎邮件bplizhen@qq.com进行交流探讨,但是我比较懒!😂

    展开全文
  • Excel表格怎么把一列数据转换为多行多列数据.docx
  • 在平常所用数据中,会出现多行多列数据,但是实际又需要一行或一列形式的数据,或者相反者,那么这篇文章将教会你如何在excel中对多行多列数据与一行一列数据的相互转换、或者将行数据变为列数据、列数据变为行数据...

           在平常所用数据中,会出现多行多列数据,但是实际又需要一行或一列形式的数据,或者相反者,那么这篇文章将教会你如何在excel中对多行多列数据与一行一列数据的相互转换、或者将行数据变为列数据、列数据变为行数据。

    将运用到的excel函数:
    ①OFFSET函数的语法结构为:OFFSET(reference,rows,cols,[height],[width])
            即:OFFSET(引用区域,行号,列号,【高度】,【宽度】)
           reference:作为偏移量参照系的引用区域,必须为对单元格或者相连单元格区域的引用,否则,函数会返回错误值。
            rows:相对于偏移量参照系的左上角单元格,向上或者向下偏移的行数,rows可以是正数或者负数,正数是指向下偏移的行数,负数指向上偏移的行数。
           cols:相对于偏移量参照系的左上角单元格,向左或者向右偏移的列数,cols可以是正数或者负数,正数指向右偏移的列数,负数指向左偏移的列数。
           height:高度,即所要返回的引用区域的行数。
           width:宽度,即所要返回的引用区域的列数。
    当height、width参数省略时,默认以第1个参数reference的高度和宽度为准;当指定height、width参数时,则以指定的高度、宽度值为准。

    ②COLUMN函数的含义:返回所选择的某一个单元格的列数。
    COLUMN函数的语法格式
    =COLUMN(reference)
    如果省略reference,则默认返回函数COLUMN所在单元格的列数。

    ③ROW函数的含义:返回所选择的某一个单元格的行数。
    ROW函数的语法格式
    =ROW(reference)
    如果省略reference,则默认返回ROW函数所在单元格的行数。

    1、多行多列数据转换为一列数据

    多行n列的行数据转换为一列数据

    空白处填充下列公式,然后下拉填充即可(数据不够填充空格):
    =OFFSET($A$1,ROW(An)/n-1,MOD(ROW(An),n))&""

    如将4行5列数据转换为一列数据:
    =OFFSET($A$1,ROW(A5)/5-1,MOD(ROW(A5),5))&""
    如图:
    在这里插入图片描述

    n行多列的行数据转换为一列数据

    空白处填充下列公式,然后下拉填充即可:
    =OFFSET($A$1,MOD(ROW(An),n),ROW(An)/n-1,)&""

    如将4行5列数据转换为一列数据:
    =OFFSET($A$1,MOD(ROW(A4),4),ROW(A4)/4-1,)&""
    如图:
    在这里插入图片描述

    2、一行或一列数据转换为多行多列数据

    一列数据转换为n列多行

    可在任意空白处填充如下公式:
    =OFFSET($A$1,COLUMN(A1)-1+(ROW(A1)-1)*n,)&""

    如将数据转换为5列多行,任意空白处填充如下公式:
    =OFFSET($A$1,COLUMN(A1)-1+(ROW(A1)-1)*5,)&""
    然后横向拉填充五个单元格,在纵向拉填充,直到出现空白
    如图:在这里插入图片描述

    一列数据转换为n行多列

    若想将一列数据转换为n行多列,则可用下列公式:
    =OFFSET($A$1,ROW(A1)-1+COLUMN(A1)*n-n,)&""

    如将一列数据转换为5行多列,任意空白处填充如下公式:
    =OFFSET($A$1,ROW(A1)-1+COLUMN(A1)*5-5,)&""
    然后纵向拉填充五个单元格,在横向拉填充,直到出现空白
    如图:

    在这里插入图片描述

    一行数据转换为n列多行

    若想将一行数据转换为n列多行,则可用下列公式:
    =OFFSET($A$1,COLUMN(A1)-1+(ROW(A1)-1)*n,)&""

    如将一行数据转换为5列多行,任意空白处填充如下公式:
    =OFFSET($A$1,COLUMN(A1)-1+(ROW(A1)-1)*5,)&""
    然后横向拉填充五个单元格,在纵向拉填充,直到出现空白

    一行数据转换为n行多列

    若想将一行数据转换为n行多列,则可用下列公式:
    =OFFSET($A$1,(ROW(A1)-1)+(COLUMN(A1)-1)*n,)&""

    如将一列数据转换为5行多列,任意空白处填充如下公式:
    =OFFSET($A$1,(ROW(A1)-1)+(COLUMN(A1)-1)*5,)&""
    然后纵向拉填充五个单元格,在横向拉填充,直到出现空白

    如图:
    在这里插入图片描述

    3、行数据转换为列数据,或列数据转换为行数据

    ①复制数据
    在这里插入图片描述

    ②任意选择一个空白区域,但选择的区域行、列数必须大于等于原表的列、行数
    在这里插入图片描述

    ③鼠标右击,然后【选择性粘贴】
    在这里插入图片描述

    ④点击转置图标,如图

    在这里插入图片描述
    ⑤即可得到结果
    在这里插入图片描述

    展开全文
  • 在excel表格中,怎样把多行多列数据转换成一行或一列?今天,我们的关键词就是“快速转置”。 具体怎么操作呢,一起来看一下吧。在Excel中将多行多列数据转换到单列的方法有很多,本文介绍用公式进行转换的方法。...

    在excel表格中,怎样把多行多列的数据转换成一行或一列?今天,我们的关键词就是“快速转置”。 具体怎么操作呢,一起来看一下吧。

    在Excel中将多行多列数据转换到单列的方法有很多,本文介绍用公式进行转换的方法。假如Sheet1表的A2:E7区域有6行5列的数据需要转换到Sheet2表的A列,如图所示。

    7b1c28a96e8c8db7a953d96ba707bb49.png

    一、按先行后列的顺序转换

    即先提取第一行的数据,再依次其他各行。在Sheet2的A1单元格输入公式:

    =OFFSET(Sheet1!A$2,ROW(A5)/5-1,MOD(ROW(A5),5))

    或:

    =OFFSET(Sheet1!$A$2,INT((ROW(A1)-1)/5),MOD(ROW(A1)-1,5))

    或:

    =INDIRECT("Sheet1!"&ADDRESS(INT((ROW(A1)-1)/5)+2,MOD(ROW(A1)-1,5)+1,4))

    然后向下填充公式到最后一个数据,结果如下图。

    61feb6dc20a1ad82f9734865c2084164.png

    第一个公式中OFFSET函数的第二个参数“ROW(A5)/5-1”在某些单元格中可能会返回小数,OFFSET函数会自动取整。后两个公式中的 “INT((ROW(A1)-1)/5)”在向下填充时依次生成5个相同数为一组的序列数“0、0、0、0、0、1、1、1、1、1、2、2、2、2、 2……”,“MOD(ROW(A1)-1,5)”则依次生成“0、1、2、3、4”并循环。本例为6行5列,如果为N行M列,可将公式中用红色标识的数字 “5”改为M。

    二、按先列后行的顺序转换

    即先提取第一列的数据,再依次其他各列。在Sheet2的A1单元格输入公式:

    =OFFSET(Sheet1!A$2,MOD(ROW(A6),6),ROW(A6)/6-1)

    或:

    =OFFSET(Sheet1!$A$2,MOD(ROW(A1)-1,6),INT((ROW(A1)-1)/6))

    或:

    =INDIRECT("Sheet1!"&ADDRESS(MOD(ROW(A1)-1,6)+2,INT((ROW(A1)-1)/6)+1,4))

    a8f98fe9a10ba8b9f3098117dd753d66.png

    本例为6行5列,如果为N行M列,可将公式中用红色标识的数字“6”改为N。

    展开全文
  • 表中数据多行转1行多列
  • vba实现excel多行多列转多行一列

    千次阅读 2018-08-16 18:21:52
    选中部分数据区域(多行多列),例如: 转换之后: vba代码: Sub manyToOne() Dim TheRng, TempArr Dim i As Integer, j As Integer, elemCount As Long On Error GoTo line1 Sheets("Sheet2"...

    选中部分数据区域(多行多列),例如:

    转换之后:

    vba代码:

    Sub manyToOne()
       Dim TheRng, TempArr
       Dim i As Integer, j As Integer, elemCount As Long
       On Error GoTo line1
       Sheets("Sheet2").Range("a:a").ClearContents
       If Selection.Cells.Count = 1 Then
         Sheets("Sheet2").Range("a1") = Selection
       Else
         TheRng = Selection
         elemCount = UBound(TheRng, 1) * UBound(TheRng, 2)
         ReDim TempArr(1 To elemCount, 1 To 1)
         For i = 1 To UBound(TheRng, 2)
           For j = 1 To UBound(TheRng, 1)
             TempArr((i - 1) * UBound(TheRng, 1) + j, 1) = TheRng(j, i)
           Next
         Next
         Sheets("Sheet2").Range("a1:a" & elemCount) = TempArr
       End If
    line1:
    End Sub
    

     

    展开全文
  • 这是使用到的jar包,由于使用的是XSSFWorkbook所以jar较(如果用HSSFWorkbook 就只需要导入poi这个jar就行,两者的差异是HSSFWorkbook 最多能创建255),注意版本4.0以上会报错。目前未找到解决方案 package ...
  • 1、HIVE多行多列数据样式 把CAMERA_NO,RESULT_DATA两列转换为CAMERA_NO字段的数据为列名,RESULT_DATA字段对应CAMERA_NO的数据为值 方法:利用str_to_map函数 alter table ods.iot.iot_5060_iotdaq.5060_...
  • sybase数据库是不支持group_concat函数的,此文件sybase存储过程样例,可以将多行信息按标识合并为一多列
  • 背景 题目比较抽象,具体解释一下。...这里多行数据比较混乱,想将多行数据按照标识分组,再改为一多列: 客户 状态 小老鼠 20200428:高兴 20200502 难受 20200503:相思 小八戒 20200429:开心 202
  • 联接查询使用User Defined Variables MySQL feature每个客户端组内的每个产品生成RowNumber(1,2,3,…).外部查询使用GROUP BY和CASE与内部表中的行号形成PIVOT表.如果您需要变量产品数,则考虑创建此查询动态添加...
  • 一、Excel表格怎么把一列数据转换为多行多列数据(EXCEL2019) 例如:将一列60个数据转换为5行12列。 1、首先,在B1格输入“源数据 起始数据的单元格代号”,C1格输入“源数据 第二个数据的单元格代号”,然后选中B1...
  • 今天来说说在Excel中,将表格里的一列转换为多行多列的几种方法。例如,以下表格,是一个行业分类表,都放在同一列中。现我们准备把它转为多列。表格里数据除掉标题行行,总共有60列数据,干脆我们就给它转为10行6列...
  • 首先想到的方法是使用Excel的分列功能(Textto Column),将C列拆分成多行多列,如下所示。剩下的问题就是:如何将这个分列后的数据块串联成个单列数据?可使用Offset函数满足此需求。(在Excel中,OFFSET函数的...
  • excel如何将多行多列变成一列

    万次阅读 2019-05-22 18:10:54
    转载:... 数据: 结果: ...=OFFSET(A$1,(ROW(1:1)-1)/8,MOD(ROW(8:8),8)) ...java数据根据文件文档或者Api要转成java常量,数据特别时候。 1将数据cop...
  • 想要把Excel的数据用Word转成行。那么第步当然是将excel中的数据先复制下啦,复制好了之后打开word,然后进行粘贴,注意这里要选择“只保留文本”哦。 接下来我们要用鼠标选中每行的两个数据中间...
  • 2019,新的一年,第次写博客,纪念一下。...首先,考虑了使用读取文件的read()、readline()方法,但是最多只能够解决读取行的问题,不能够读取多列连续的值。故,还是回到numpy。网上很多都是截取某几行或某几列...
  • hive中的多行多列转换

    千次阅读 2019-05-12 18:56:41
    1. 多行多列 原表test表存储格式如下,希望进行优化 name subject score 张三 语文 90 张三 数学 85 张三 英语 92 李四 语文 75 李四 数学 90 李四 ...
  • 怎么将excel中两列转换多行多列在G1 H1中分入或复制粘列公=INDEX(A:A,INT(ROW(A4)/4))=INDIRECT(ADDRESS(INT(ROW(A4)/4),MOD(ROW(A4),4) 2))选择G1:H1拉填充如何把EXCLE中多行多列数据转化放到一列中可以写代码...
  • 问题: 把相同的组织 日期,地区的数据转换数据 select r.org_id, r.month_id, r.area_id, SUM(case when r.data_item_id='D0302' then r.current_val end) current_vala, ...
  • 本篇属于经验贴,适用的问题是:需要将excel的多列数据粘贴为一列或者一行 方法:本次解决方法需要下载一个好用的插件,叫做方方格子,强推这个插件,直接搜官网然后下载软件,安装后重启excel任务栏会出现方方格子...
  • vba实现excel多行一列多行多列

    千次阅读 2018-08-16 18:27:10
    选中部分数据区域(多行一列),例如: 转换后: vba代码: Sub oneToMany() Dim TheRng, TempArr Dim i As Integer, j As Integer, colCount As Integer Set Dict = CreateObject("Scripting....
  • 以4N行为例,转换结果如下,上传Excel。
  • 刚毕业不久的新同事,将多行多列数据全部放在一列,需要拆分的数据却放在一个单元格,如果你遇到这种情况,你会怎么做?有时候我们不得不将一列数据转成多列,将一行数据转成多行显示,处理数据杂乱的表格,如何...
  • SQLServer多行多列数据转为

    千次阅读 2016-08-16 21:03:31
    SQLServer多行多列数据转为
  • 例题描述有宿舍人员登记表room.xlsx,1个宿舍住有不定人数,部分数据如下图所示:现在需要根据上表数据转换成每个人员与宿舍的对应关系表,如下图所示:实现步骤1、 运行集算器可去润乾官网下载职场版,同时下载个...
  • r语言如何将多列数据变成一列

    千次阅读 2021-05-25 07:19:12
    1.R语言如何将10*10的数据一次排到第一列成100*1#R中的matrix默认情况下是按列填写数字的df df[,1] [,2][1,] 1 6[2,] 2 7[3,] 3 8[4,] 4 9[5,] 5 10# 如果数据为matrix结构,直接as.vector, 变为vector之后可以用as...
  • 有没有办法将这个结果的三行合并为一行?变成下表这种效果? 要求,sl字段不能改数值型,因为有可能出现包,条,件,乃至于2件加半袋这种情况。
  • 需求:提取数据 说明:原数据一列多行,需要转化一行多列 待查询表:temp_05 hive> desc temp_05; OK data_dt string zhanghao string booking_time_final string sign string hname

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 70,785
精华内容 28,314
关键字:

多行多列数据转换为一列