新建sheet工作表薄内有sheet1_sheet五个新建sheet工作表表,五个新建sheet工作表表都 有一个汇总数我要算出五个汇总数据的平均

→ 怎样用Vlookup查找出另一个工作表中匹配的数据?
选取类型:
观点标题:
观点内容:(不支持HTML)
请以客观、真实地作出评论,并注意语言文明;
观点发表后不能作出更改;
您是本帖的第 19114 个阅读者
怎样用Vlookup查找出另一个工作表中匹配的数据?
等级:幼儿园
怎样用Vlookup查找出另一个工作表中匹配的数据?
&下载信息用表1中抄表员名查找表Sheet1中供电所的名,不知道我说的明不明白,麻烦哪位朋友告诉我行吗,实在弄不出来了,太笨了!
等级:幼儿园
表1&&&户号户名供电所抄表员姓名本月计算电量本月计算电费SUM(Z.PREPAY_BAL)扣费后余额163安乐理石矿=vlookup(E2,Sheet1!A2:B305,2,0)黄英义10086.864.18-82.68695鞍山丰嘉有限公司 孙世勇122105.9718.14-87.83313鞍山风鸣毛绢厂之二 李建波26742322.642092.13-230.51435鞍山宏丹矿业有限公司 崔高坤180156.3565.62-90.73460鞍山华声摆线齿轮油泵有限公司 姜代军235204.1215.23-188.89295鞍山华阳实业有限公司 张德权403551.819.17-542.64Sheet1抄表员姓名(用户层)供电所董纯奇朝阳供电所姜福利朝阳供电所李成贺朝阳供电所刘永健朝阳供电所林丽娜朝阳供电所林树忱朝阳供电所谁能帮我看看呀,我的公式错在哪了啊?拜托!
等级:初生婴儿
很好,这样解决。
等级:小学生
你这个要查的反了,Vlookup这个函数要安顺序来的,你这样搞,当然搞不出来了,(即你要查的一定要放在第一位,比如你用"姓名"来查"供电所的名称")用下面两个就可以查出来公式一=VLOOKUP(e2,IF({1,0},$E$2:$E$1700,$C$2:$C$)   =IF(ISNA(VLOOKUP(e2,IF({1,0},$E$2:$E$1700,$C$2:$C$)),"",VLOOKUP(e2,IF({1,0},$E$2:$E$1700,$C$2:$C$))公式二=INDEX($C$2:$C$1700,MATCH(e2,$E$2:$E$1700,0))=IF(ISNA(INDEX($C$2:$C$1700,MATCH(e2,$E$2:$E$1700,0))),"",INDEX($C$2:$C$1700,MATCH(e2,$E$2:$E$1700,0)))当然如果你把sheet1中的姓名放到要查的前面的话,你上面的公式就能查出来了,即把E列(姓名)和D列(供电所)的位置换下就能查出来了
[此贴子已经被作者于 23:12:50编辑过]
等级:幼儿园
以下是引用zxw在 23:08:00的发言:你这个要查的反了,Vlookup这个函数要安顺序来的,你这样搞,当然搞不出来了,(即你要查的一定要放在第一位,比如你用"姓名"来查"供电所的名称")用下面两个就可以查出来公式一=VLOOKUP(e2,IF({1,0},$E$2:$E$1700,$C$2:$C$)   =IF(ISNA(VLOOKUP(e2,IF({1,0},$E$2:$E$1700,$C$2:$C$)),"",VLOOKUP(e2,IF({1,0},$E$2:$E$1700,$C$2:$C$))公式二=INDEX($C$2:$C$1700,MATCH(e2,$E$2:$E$1700,0))=IF(ISNA(INDEX($C$2:$C$1700,MATCH(e2,$E$2:$E$1700,0))),"",INDEX($C$2:$C$1700,MATCH(e2,$E$2:$E$1700,0)))当然如果你把sheet1中的姓名放到要查的前面的话,你上面的公式就能查出来了,即把E列(姓名)和D列(供电所)的位置换下就能查出来了呵呵,我做出来了,知道什么原因吗,两个表的表格属性不一样,我都改成常规就行了,跟顺序没有关系呀。
等级:中学生
经验:1450
金钱:1480
是的,把表1的J列以后的任一一列复制后粘贴在D列,再写公式,就能求出所在的供电所的内容。
等级:小学生
呵呵,那只能说我才学还不够,你在去看看Vlookup函数的说明吧,[此贴子已经被作者于 0:00:15编辑过]
等级:学前班
经验:1995
我觉得你做的很好,就是应该将A2:B305写成$A$2:B305.看了你的附件,公式应该是这样=VLOOKUP(E2,Sheet1!$A$2:B305,2,0),你可以试试,我也是刚刚学习函数。互相交流交流。
[此贴子已经被作者于 9:33:57编辑过]
等级:初生婴儿
看了你的附件,公式应该是这样=VLOOKUP(E2,Sheet2!$A$2:$B$305,2,0),你可以试试,我也是刚刚学习函数。互相学习学习。
等级:中学生
经验:3040
金钱:2990
还有这么高深的方法~要学习了!
本论坛言论纯属发表者个人意见,与本站立场无关,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任! 粤ICP备号
Copyright © 2007
Powered By
页面执行时间 0.18359 秒, 4 次数据查询&&国之画&&&& &&&&&&
&& &&&&&&&&&&&&&&&&&&&&
鲁ICP备号-4
打开技术之扣,分享程序人生!多个Excel工作簿中的数据汇总到一个Excel中(1)
多个Excel工作簿中的数据汇总到一个Excel中(1)
除非注明,文章均为原创,转载请保留链接: ,VBA交流群。
今天我们来讲Excel VBA中最常用的一个功能——汇总多个Excel表格。假如你的手头有很多格式完全相同的表格,记录着同一类的信息,像是各个分公司人事发来的各地员工信息表、各个分公司当日或当月的业绩情况、各个门店当日的销售业绩等等,你需要把这些工作薄汇总到一张表格里以便统计分析之用。如果工作簿比较少,比如只有个位数的分公司或者门店,这时你手动的复制粘贴也不会花太多时间,或者你所在的公司是个大公司,有自己的系统,每天的报表都走系统不用你费心,但是如果你的公司达不到上面的要求呢?你手头有几十上百个表要汇总,你会怎么办?这种看起来很麻烦的事情对Excel VBA或所谓的宏来说就是小菜一碟了。好了,不说废话了,看例子。
假设你是某个公司总部的人事,现在你手头上有来自全国各分公司的员工信息,需要将其汇总到一张表,简单起见,就假设有5张表。第一步,将所有的5张表都放到一个文件夹下,之后新建一个Excel工作簿,Alt+F11打开VBA编辑界面,将下面的代码复制进去
Sub HuiZong()
Dim myfile, mypath, wb
Application.ScreenUpdating = False
'关闭屏幕更新
Sheet1.UsedRange.Offset(1, 0).Clear
'清除除表头之外的所有内容
mypath = ThisWorkbook.Path
'找到当前工作簿的路径
myfile = Dir(mypath & "\*.xls*")
'遍历当前文件夹下的Excel文件
Do While myfile && ""
'当找到的文件不为空时
If myfile && ThisWorkbook.Name Then
'当找到的文件不是当前Excel工作簿时
Set wb = GetObject(mypath & "\" & myfile)
'得到dir找到的工作簿的内容,设为wb
With wb.Sheets(1)
'对找到的工作簿的sheet1进行操作
'复制wb的sheet1除第一行的所有内容
.UsedRange.Offset(1, 0).Copy Sheet1.Range("A" & Sheet1.UsedRange.Rows.Count + 1)
wb.Close False
'关闭wb工作簿且不保存
myfile = Dir
'寻找下一个Excel工作簿
Application.ScreenUpdating = True
'恢复屏幕更新
复制进去之后保存文件,然后按F5运行VBA程序,你会发现所有的5个工作簿中的内容都被汇总到当前工作簿中来了,是不是方便了很多呢?示例文件下载地址。为了照顾一些用Excel 2003版的朋友我将示例文件存为了2003的格式,但是想想吧还是与时俱进的好,所以往后的示例文件我还是直接用Excel 2007了。
这个程序的知识点主要包括,offset函数的应用,,,以及do while...loop循环,这些内容我都会在以后慢慢讲到,请朋友们继续关注。
咨询,程序开发,友链交换请联系博主
VBA QQ群:
注意!复制代码请用Ctrl+C!

我要回帖

更多关于 新建sheet工作表 的文章

 

随机推荐