Excel将汇总数据表的内容自动填充到分表的详细表格
在用excel时我们经常会遇到给定一个汇总数据表,里面有许多人的信息,然后为这些人每人建立一个档案表格的情况。
如下面的表格是汇总的数据表:
转换成下面这种表,每个人一个单独的表
看着工作量大,其实我们可以通过几个函数,只要填充一个表,其它的只要复制一下,改一下工作表的标签就好啦,做几十个表只要几分钟:
我们需要用到的函数有以下几个
1)=CELL(“filename”)
此函数返回的是当前工作表的包含完整路径的名称
2)=MID(string, start_num, num length)
是从一串字符中返回从第几个字符开始共几个字符
Start_num 是起始的第几个字符,num length是一共要几个字符
3)=FIND(find_text, within_text, [start_num])
查想的字符在字符串中的位置,注意要查字符加“”
4)=LEN(text)
返回字符串的长度
5)=VLOOKUP(搜索值,搜索区域,返回值的位置,0)
这个函数是从一个表格中垂直搜索数据,
第1个参数搜索值是你想搜的内容
第2个参数是数据区域,一般是第几列到第几列,如从B列到I列,也可范围选择第3个参数是返回选中区域内第几列的数据
第4个参数0代表精确搜索
通过以上几个函数组合,我们就可以实现只要更改工作表的标签名称,实现每个表格中的内容自动填充完毕。
我们以开头举例的工作表为例,做第一个人名周向东的档案
第一步,在姓名单元格中自动填充当前工作表的名称(周向东)字符串长度就是字符串中字符的个数
复制一个工作表,将工作表名称改成周向东,然后在姓名后的单元格中输入以下函数(需要用到前4个函数组合,不想打字可将这个函数复制粘贴到单元格中)
MID函数可以选出完整路径中的部分字符(即人名),完整函数如下:
=MID(CELL("Filename"),FIND("]",CELL("Filename"))+1,LEN(CELL("Filename"))-FIND("]",CELL("Filename")))
MID函数中各参数解释
第一个参数用CELL("Filename")代替
注意
1)cell函数返回的是路径全称,这里是
C:\Users\xxxxxx\Desktop\[红管理人员防控情况表.xls]周向东
2)用cell函数时新复制的工作表必须保存一下
我们需要的是周向东三个字,就是路径中从]往后的字符
用FIND函数查] 在的位置是第35个字符,周字是从36开始,所以
第二个参数,即起始字符位置,用FIND到] 字符位置+1即可
第三个参数,字符长度用LEN函数得到整个路径总长度-FIND的]字符位置数,其差值就是人名的字符长度
这样,我们就在单元格中得到了周向东的名字,也就是当前工作表的名称
第二步,用VLOOKUP函数从第一个表中搜索数据填充到相应单元格中
比如年龄我们可以用
=VLOOKUP(B4,Sheet1!B:I,3,0)
第一个参数B4是周向东所在的单元格,目的是去第一个数据表中周向东三个字第二个参数是选择第一个表中从第B列到第I列
第三个参数是返回选中区域中第3列的值,即年龄
第四个参数0是指精确查
依此类推,所有的单元格都可以填充完毕,一个人的档案表就完成了
第三步,不断复制工作表,工作表名改成相应名字,内容自动填充,完工

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。