有excel大神给看看这个表数据怎么提取
- ananasky1979因为疫情又来了,村里所有的表又要重填一遍,看了下工作量太大了。大神们帮忙给看看我想把表A里的姓名、性别、年龄、身份证号、联系电话分别提取出来填到表B里对应sheet的栏里,有简单点的方法吗,现在一个一个复制粘贴太麻烦了,估计晚上要通宵。。。
,感激不尽
表A
表B - 后来呢“=”
没有提取吧 - ananasky1979表A是有数据的,因为涉及到身份证号和电话,我给删了
- yrrehc目测它这个表标签页有点多,"="也得做到天荒地老,还是要上vba把工作表历遍一遍才行
- ningningbobo一个个复制粘贴?不能一起复制粘贴?实在没懂。A表数据已经是单独的了?那不就是批量复制粘贴?
- gamefwhvlookup就能做到了吧
- ananasky1979excel小白请教,vlookup一直出错,出不来具体数据。。
- ananasky1979A表和B表的列不一样啊
- ipkm常规做法用vlookup,这个函数好理解,下拉一下就ok了,每一列分别修改下就行了。高级点的做法可以考虑数据透视表,这个有点复杂,看你能不能研究明白了。
- ananasky1979这个表A和表B是每户一个工作表,Vlookup的话怎么能做到呢
- ipcall正解,楼主百度下吧,前两天才做了类似的工作。
- muyiyuchen格式没错的话用熟悉的语言写个程序其实挺快的……建议可以学个python一类的以后处理类似的重复性高没什么技术含量的工作……
- ananasky1979时间有点紧,百度了一下,一头雾水啊
- 小男孩vlookup应该不行吧。。等大神
- 吉跋猫Vba For each遍历工作表,难度系数0
- ananasky1979求详解
- 吉跋猫Sub foreachwbk()
Dim wa As Workbook, wb As Workbook
Set wa = ThisWorkbook
Set wb = Workbooks("目标表")
Dim ws1 As Worksheet
Dim ws2 As Worksheet
Dim 姓名$, 性别$, 年龄%, 身份证号$, 电话$, maxrow%, 工作表名
For Each ws In wb.Worksheets
maxrow = ws.Range("B65536").End(xlUp).Row
原工作表名 = ws.Name
Set ws2 = wb.Sheets(原工作表名)
For I = 5 To maxrow
j = 5
姓名 = ws.Range("B" & I).value
性别 = ws.Range("C" & I).value
年龄 = ws.Range("D" & I).value
身份证号 = ws.Range("E" & I).value
电话 = ws.Range("P" & I).value
ws2.Range("a" & j).Value = j - 4
ws2.Range("B" & j).Value = 姓名
ws2.Range("C" & j).Value = 性别
ws2.Range("D" & j).Value = 年龄
ws2.Range("E" & j).Value = 身份证号
ws2.Range("F" & j).Value = 电话
j = j + 1
Next I
next
Set wa = Nothing
Set wb = Nothing
End Sub
VBA放在表A,目标表名字改成表B名字,试一下吧,看有没有错误,我没有表格,没法测试 - ananasky1979感谢老大,您太牛B了,我试试
- lee410943861=VLOOKUP(B3,Sheet1!A:B,2,) 参考吧- -!
- ananasky1979我现在表A和表B是两个文件,A文件有若干工作表,每张工作表是一户,内容是每户成员的信息。B文件是也是每个户名是一个工作表。现在想的是把A文件里每个工作表里姓名,性别,年龄,身份证号和电话填到B文件里对应的工作表的对应栏里
- 吉跋猫对呀,你把A表另存为XLSM格式,表B也同时打开,Set wb = Workbooks("表B的名字")这里改一下
这个就是遍历表A里面所有的工作表,并以A表的B列的找到有内容最大行,一个个粘贴到同名字的表B里去 - ananasky1979比如我A文件我另存成A.xlsm ,表B是B.xlsx,我需要改哪里了,您这个我是一点也看不明白。。
- ananasky1979我直接把Set wb = Workbooks("表B的名字"),改成Set wb = Workbooks("b.xlsx"),运行提示类型错误。。
- 静静的一个sheet的顶部有合并单元格,并且顶部部要有东西(不能是空单元格)
- 静静的A上的数据填入B说话,一个不是这个问题了
- 吉跋猫去掉后面的.xlsx,程序放表a的vbe中,打开表b后再运行
- ackoly兄弟,Excel是生产力,你知道吗
- 赫敏hlookup()
- 霹雳火再来表又得调,提供个另类的思路,用ACCESS,每次来新表,把表头做成查询,输出结果后仅粘贴值即可
- summeren如果两个表样一样 可以先把a表最后一列添加工作表名以后合并到同一个工作表,b表用条件查询多汁
- summeren没写完,补上。 b表用 index small if 查询多个值,b表写工作全选工作表写
- fishdzy是否有现成的人名清单?
有的话,用Indirect将人名组成工作表名,可以解决。 - summeren现成的人员名单用vba读取一下 工具很多,我想学习如何用indirect解决
- qdmbp链接:https://pan.baidu.com/s/149PxE73qu6Umu-96P86-dw提取码: qxpq
表1是原表
表2是自动填写的表
你看是这个意思么?
因为你表2的行识别码是序号,表1是排查对象,不一样。所以表2的序号需要先用表1的排查对象,等都导过来了,就像我现在的表2一样了,需要全选-->选择性粘贴值,然后把序号改成1、2、3、4……
需要放在D盘下的“新建文件夹 (3)”下看效果。excel不支持相对地址引用,只能绝对