精华内容
下载资源
问答
  • 甲纯们在工作中,可能会经常遇到要把多列数据,以追加的形式,凑成一列的情况。现如今20后都跑出来了,难道还要用拷贝粘贴的原始方法?!纯老师对此研发了操作简单、适用性好的小程序,供甲纯们参考使用。本程序主要...

    甲纯们在工作中,可能会经常遇到要把多列数据,以追加的形式,凑成一列的情况。

    a14a37f262d6bb182a87d0895aec6622.png

    现如今20后都跑出来了,难道还要用拷贝粘贴的原始方法?!

    1ce50ae8286602750385ac996737e930.gif

    纯老师对此研发了操作简单、适用性好的小程序,供甲纯们参考使用。

    f9a66380580845a18e853e161171f19f.png

    本程序主要利用到的是INDIRECT函数,可以把文本变成地址进行引用。

    地址引用有2种表达形式:一种是A1形式(先列号后行号,列用字母表示),一种是R1C1形式(先行号后列号,都用数字表示)。为了方便引用的地址进行递增和跳转,使列号直接用数字表示不需要再转换为字母,故本程序使用的是R1C1的形式。

    应用公式=INDIRECT(“R”&x&”C”&y,0),第1参数是引用地址的文本“RxCy”,代表引用x行(Row)y列(Column)的单元格;第2参数为0,代表函数引用地址采用R1C1的形式。

    解题的核心思路是通过自动改变行列的序数,来进行数据的映射追加。

    先设计如下的表格:

    1d26bf745e2cc2251819fc19c7bdd2c0.png

    其中行序数1和列序数5,是预先输入的并可以修改的,代表从【R1C5】(即【E1】)单元格,开始进行数据追加。


    将【数据追加】列的公式,填写为:【A2】=INDIRECT("R"&B:B&"C"&C:C,0),该列数据变为由【行序数】和【列数据】,对应控制行号和列号的映射列。如下图:

    06756e37c8a80cb6c6ed8a735325edda.png

    核心判断逻辑:

    本程序以单元格数据是否为空,作为判断该列数据终止的条件。

    最初,判断【R1C5】(即【E1】)是否为空?不为空,则【R1C5】的数据有效并追加,然后递增一行到【R2C5】(即【E2】),继续判断,以此类推。

    以本表为例,当递增到【R4C5】(即【E4】)时,【R4C5】数据为空,则该数据无效,【R4C5】需往右跳转一列,同时行序数重置为1,即【R4C5】变为【R1C6】(即【F1】)。逻辑图如下:

    c17db14329310eaedcae3251cb7389fc.png

    在【行序数】、【列序数】列中填写公式,并按需复制填充。

    5d84b36fa75bdbc65cfce98f0687114d.png

    其中行序数【B3】=IF(INDIRECT("R"&(B2+1)&"C"&C2,0)="",$B$2,B2+1)。

    根据上面的逻辑解析,意思是原来行序数【B2】和列序数【C2】,组成引用地址【R1C5】(即【E1】),往下递增一行变成【R2C5】(即【E2】),判断【R2C5】的值是否为空(到达列最末行的下一行),空则行序数重置为初始值【$B$2】(注意要绝对引用,确保初始行是一致的);非空则列序数往下递增+1,变为B2+1。


    同时,列序数的公式为【C3】:=IF(INDIRECT("R"&(B2+1)&"C"&C2,0)="",C2+1,C2)。

    c0e095fd0527192d9aa6254cb74c3e5b.png

    引用地址【R1C5】(即【E1】),往下递增一行变成【R2C5】(即【E2】),判断【R2C5】的值是否为空(到达列最末行的下一行),空则列序数重置往右递增一列变成C2+1,非空则列序数不变(等于上一次的列序数)。


    为了让小程序变得更美观直爽,也让甲纯对追加数据在哪里截止一目了然。可以在【数据追加】列进行空数据判断,数据为空不显示(显示为空字符””)。

    3b3a45c79e68638a245d81ab12219e14.png

    并增加一列判断列,当【数据追加】列的数据为空时,显示“【终止】”,提示追加数据到此终止。

    注意:因为增加了一列,所以起始的列序数【D2】原来为5(即E列),现在应该+1(即F列开始),更改为6。


    今后要使用时,只需要将公式预先多复制一些,比如1000行或者更多,然后把要做追加的数据复制进来,追加后的数据就会自动生成了!程序演示如下:

    e0f85502a17a5127856d10e14d670956.gif

    还可以通过修改起始的行序数,自动去除标题行的影响。

    4049956cf0aa9846ac5ebff368e16a7d.gif

    上述就是多列数据追加为一列数据的小程序,该程序单独使用应对大数据量的追加,只需要稍作修改,就可以实现同时追加2列或者多列数据,或者把行、列对调,变成把多行数据追加为一行数据的小程序,甲纯们有兴趣的话,可以自行延伸扩展。

    本程序是将单元格为空作为每一列数据终止的条件,可是如果确确实实存在列的中间有单元格就是为空,那怎么办?纯老师下一期开讲。

    0bd56ac3146536263300582f8957325d.png
    展开全文
  • excel里面有个函数: =IF(COUNTIF($A$2:A2,A2)>1,"重复","") ...其中A代表的编号,2代表这个... 打开excle,把数据拷贝到中,如下图拷贝到A中,那么函数里面A代表的就是A [...
    excel里面有个函数:

    =IF(COUNTIF($A$2:A2,A2)>1,"重复","")


    其中A代表列的编号,2代表这个列的第几个单元格 上面的重复二字表示如果两个列出现重复了,第二个重复出现的地方,比如在B列就会显示重复二字

    [b]第一步:[/b]
    打开excle,把数据拷贝到某一个列中,如下图拷贝到A列中,那么函数里面A代表的就是A列

    [img]http://dl2.iteye.com/upload/attachment/0122/1050/86e3032e-9b19-3989-8742-97ad7044816a.png[/img]


    [b]第二步:[/b]在 B列的B1位置输入备注,在B2单元格输入上面的函数,拉下B2列的右下角的按钮,拖下去,就能看到如上面所示的内容了,重复的内容,在第二次出现的时候,就会显示重复
    展开全文
  • 这几天遇到个问题,在sqlserver2008上执行了查询后,将查询结果拷贝到Excel后,身份证和银行卡两列的值,被转为科学计数法了,设置格式,加引号,可怎么也设置不正确了。 后来解决了问题,方案是: 在拷贝...
    这几天遇到一个问题,在sqlserver2008上执行了查询后,将查询结果拷贝到Excel后,身份证和银行卡两列的值,被转为科学计数法了,设置列格式,加引号,可怎么也设置不正确了。
    后来解决了问题,方案是:
    在拷贝前,先设置Excel列的格式为文本,然后再拷贝,就没事了。
    展开全文
  • 是给朋友整理实验数据用的,两个小需求:一、要第一列数据序号,且多个文件数据拷到目的文件的时候数据序号要按顺序排列;二、每个文件可能有多个worksheet,都要拷贝到目标文件里面。对于office2003以前的excel,...

    是给朋友整理实验数据用的,两个小需求:

    一、要第一列是数据序号,且多个文件数据拷到目的文件的时候数据序号要按顺序排列;

    二、每个文件可能有多个worksheet,都要拷贝到目标文件里面。

    对于office2003以前的excel,是支持Application.FileSearch的,实现代码如下:

    Sub Test()

    Dim i As Integer,iRow As Integer

    Dim strPath As String

    Dim TheSheet As Worksheet

    iRow = 1

    Set TheSheet = ActiveWorkbook.Worksheets("sheet1")

    strPath = "D:/Macro/testtest"

    With Application.FileSearch

    .LookIn = strPath

    .SearchSubFolders = True

    .Filename = "*.*"

    If .Execute > 0 Then

    For i = 1 To .FoundFiles.Count

    'Range("A" & i) = .FoundFiles(i)

    Workbooks.Open (.FoundFiles(i))

    For j = 1 To ActiveWorkbook.Worksheets.Count

    'ActiveWorkbook.Worksheets(i).Cells(1,1).Value = "a"

    ActiveWorkbook.Worksheets(j).UsedRange.Copy

    TheSheet.Activate

    While TheSheet.Range("a" & iRow).Value <> ""

    TheSheet.Cells(iRow,1) = iRow

    iRow = iRow + 1

    Wend

    TheSheet.Range("A" & iRow).Select

    ActiveSheet.Paste

    ActiveWorkbook.Save

    Next j

    Workbooks(Workbooks.Count).Close

    Next i

    End If

    End With

    End Sub

    --------------------------------------------------------------------------------------

    对于Office2007的用户,Application.FileSearch不支持了,修改后的代码如下:

    Sub Test()

    Dim i As Integer,iRow As Integer

    Dim strPath,Filename,Search_Fullname As String

    Dim TheSheet,CurrentSheet As Worksheet

    Dim Coll_Docs As New Collection

    Dim activeSheetName As String

    iRow = 1

    Set TheSheet = ActiveWorkbook.Worksheets("sheet1")

    strPath = "D:/Macro/testtest"

    Filename = "*.xls"

    Set Coll_Docs = Nothing

    DocName = Dir(strPath & "/" & Filename)

    Do Until DocName = ""

    Coll_Docs.Add Item:=DocName

    DocName = Dir

    Loop

    For i = Coll_Docs.Count To 1 Step -1

    Search_Fullname = strPath & "/" & Coll_Docs(i)

    Workbooks.Open (Search_Fullname)

    For j = 1 To ActiveWorkbook.Worksheets.Count Step 1

    If j = 1 Then

    activeSheetName = "sheet" & j

    Set CurrentSheet = ActiveWorkbook.Worksheets(activeSheetName)

    End If

    CurrentSheet.Activate

    ActiveWorkbook.Worksheets(j).UsedRange.Copy

    TheSheet.Activate

    While TheSheet.Range("a" & iRow).Value <> ""

    TheSheet.Cells(iRow,1) = iRow

    iRow = iRow + 1

    Wend

    TheSheet.Range("A" & iRow).Select

    ActiveSheet.Paste

    ActiveWorkbook.Save

    Next j

    Workbooks(Workbooks.Count).Close

    Next i

    End Sub

    展开全文
  • 转载:excel数据导入mysql数据库:1:选取要导入的数据块(另外有人说要多出一列,我试验后没那必要,我都整个文件导出的)2:将选中的数据拷贝到一个新建的表格工作薄,然后“另存为” -》“文本文件(制表符分割)(*....
  • 使用excel文件直接拷贝。这种主要用于要写入的数据已是excel文件或者行列分明的其它格式文件,每一列的值和表结构相对应,可直接打开表的行级锁,把数据拷贝...直接把excel数据拷贝到表里 注意:表里比如有 name,...
  • 甲纯们在工作中,可能会经常遇到要把多列数据,以追加的形式,凑成一列的情况。现如今20后都跑出来了,难道还要用拷贝粘贴的原始方法?!纯老师对此研发了操作简单、适用性好的小程序,供甲纯们参考使用。本程序主要...
  • 是给朋友整理实验数据用的,两个小需求:一、要第一列数据序号,且多个文件数据拷到目的文件的时候数据序号要按顺序排列;二、每个文件可能有多个worksheet,都要拷贝到目标文件里面。 对于office2003以前的excel...
  • 、 直接拷贝整个表格到EXCEL中 二、 通过遍历表格,给EXCEL中相应的单元格赋值。 三、 把表格中的内容提取出来,利用IE的另存为.csv的格式。 各方法的好处: 1. 直接拷贝表格,能够保留表格中的原有的格式...
  • PLSQL Developer中表的数据拷贝到Excel中,鼠标右击选择Copy to Execl,就可以把表中的所有数据拷贝到Excel   将Excel内准备的数据用PLSQL Developer导入到Oracle表分以下几个步骤:1.在Excel中准备好数据。具体...
  • 关于EXCEL数据导入到SQL...2.然后通过将excel中的数据拷贝到Uedit32里面,通过块模式操作成insert into ... values ('',''...),成功完成,这种方法还算简便,但是对于没有Uedit32(或之类软件)的朋友来说,这个方法没有...
  • 假如要把如图所示的Excel表格导入到MySql数据库中,如图:,步骤一:选取要导入的数据快儿,另外要多出一列,如下图:步骤二:将选中的数据快儿拷贝到一个新建的表格工作薄,然后“另存为” -》“文本...
  • 现在有个问题是要从在,表:公司36396中查出“用户名称”与“用户编号”拷贝到,表:Sheet1中。 有2个表数据,如下: 表:sheet1 表号 用户编号 用户名     #N/A ...
  • Excel表格数据导入Mysql数据库假如要把如图所示的Excel表格导入到MySql数据库中,如图:123456,步骤一:选取要导入的数据快儿,另外要多出一列(此列均为空值),如下图:1234567步骤二:将选中的数据快儿拷贝到一个...
  • 每月初统计汇总各部门发过来的数据时,需要将汇总表内上...到了下一年的月初时,需要将去年十二月份的公式拷贝到本年内,并将二月到十二月份内的数据全部清空。如何一键搞定这个批量操作,本文内容供参考。
  • 1.查找当前数据表A在表B中数据所对就的值(举例:查找 名字的手机号,现在表A有名字,在表B中有名字和手机号) ... 实际的功能是:把当前B2匹配到的F列数据所对应的D列数据 拷贝到当前公式的地方 ...
  • 假如要把如图所示的Excel表格导入到MySql数据库中,如图:,步骤一:选取要导入的数据快儿,另外要多出一列,如下图:步骤二:将选中的数据快儿拷贝到一个新建的表格工作薄,然后“另存为” -》“文本...
  • 背景:使用loadrunner做参数化时,往往需要在excel表格中做数据,比如:第一列是用户名,第二列是密码,格式如下: 再将用户名和密码合并成一列,以逗号分隔,需要用到的公式为: =A1&","&B1 结果如下...
  • 假如要把如图所示的Excel表格导入到MySql数据库中,如图:,步骤一:选取要导入的数据快儿,另外要多出一列,如下图:步骤二:将选中的数据快儿拷贝到一个新建的表格工作薄,然后“另存为” -》“文本...
  • 假如要把如图所示的Excel表格导入到MySql数据库中,如图: ...步骤二:将选中的数据快儿拷贝到一个新建的表格工作薄,然后“另存为” -》“文本文件(制表符分割)(*.txt)”,假如存到“D:\data...
  • 2.然后通过将excel中的数据拷贝到Uedit32里面,通过块模式操作成insert into ... values ('',''...),成功完成,这种方法还算简便,但是对于没有Uedit32(或之类软件)的朋友来说,这个方法没有可行性。 第二种方法 将...
  • 今天是全国数学建模比赛,同学... 假如要把如图所示的Excel表格导入到MySql数据库中,如图: ,步骤一:选取要导入的数据快儿,另外要多出一列,如下图: 步骤二:将选中的数据快儿拷贝到一个新建的表格工作薄,然后...
  • 做实验的时候采集到一些数据,从文本拷贝到excel,然后从十六进制转换成十进制。图表时分析数据的有利工具,使用python绘制出的图标简明美观。所以我这次尝试一下。python新手,请多多指教。 我这次的数据比较简单,...

空空如也

空空如也

1 2 3 4 5 6
收藏数 111
精华内容 44
关键字:

一列数据拷贝到excel