Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 3134|回复: 9

[已解决]用offset定义数据范围后做数据透视的问题

[复制链接]
发表于 2016-2-19 15:38 | 显示全部楼层 |阅读模式
有若干张表格,通过VBA合并到一张表上,再通过offset定义数据范围之后做数据透视表,透视出来的数据总是少一些,这到底是什么问题呢?
详细描述:合并到一张表的数据中间有很多空行,因此用offset做了个数据范围:=OFFSET(Sheet1!$A$1,0,0,COUNTA(Sheet1!$A:$A),7),其中用counta计算出总的数据是115条,这个是正确的。但是做了数据透视之后只显示74条。如果手动把表中的空行删掉,那么数据透视又是正确的。求解。

最佳答案
2016-2-21 12:37
将定义名称改为: 数据=OFFSET(Sheet1!$A$3,0,0,MATCH("座",Sheet1!A:A),8)
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2016-2-19 16:41 | 显示全部楼层
回复

使用道具 举报

 楼主| 发表于 2016-2-21 10:32 | 显示全部楼层
附件3个文件,两个查课表用VBA合并到汇总这张表中,一共是63行数据,对这个表格用offset定义了数据范围,函数为=offset($A$3,0,0,counta($A:$A),8)。然后做数据透视,透视出来只有46个。

求助.rar

45.25 KB, 下载次数: 10

回复

使用道具 举报

 楼主| 发表于 2016-2-21 10:33 | 显示全部楼层
蝶·舞 发表于 2016-2-19 16:41
传表格附件

谢谢,文件请见3楼。
回复

使用道具 举报

发表于 2016-2-21 11:41 | 显示全部楼层
原因很简单,这个是你定义的数据:=OFFSET(Sheet1!$A$3,0,0,COUNTA(Sheet1!$A:$A),8)
COUNTA(Sheet1!$A:$A)的数值是64,所以数据的范围是A3:H66,你的数据范围要到A3:H83才能覆盖全部的数据,就是因为中间空行的影响,导致实际的数据少了
回复

使用道具 举报

发表于 2016-2-21 12:37 | 显示全部楼层    本楼为最佳答案   
将定义名称改为: 数据=OFFSET(Sheet1!$A$3,0,0,MATCH("座",Sheet1!A:A),8)
回复

使用道具 举报

 楼主| 发表于 2016-2-22 11:29 | 显示全部楼层
liyh67 发表于 2016-2-21 12:37
将定义名称改为: 数据=OFFSET(Sheet1!$A$3,0,0,MATCH("座",Sheet1!A:A),8)

太感谢了!!!
回复

使用道具 举报

 楼主| 发表于 2016-2-22 11:32 | 显示全部楼层
liyh67 发表于 2016-2-21 12:37
将定义名称改为: 数据=OFFSET(Sheet1!$A$3,0,0,MATCH("座",Sheet1!A:A),8)

还想问一下,match函数里面的“座”是什么意思呢?
回复

使用道具 举报

发表于 2016-2-22 13:54 | 显示全部楼层
MATCH("座",Sheet1!A:A),查找Sheet1工作表A列最后一个文本的位置。"座"一般可以算是最大的文本编码了,所以常用来列中查找最后的一个文本所在位置,也可以用“々”。
回复

使用道具 举报

 楼主| 发表于 2016-2-22 15:27 | 显示全部楼层
liyh67 发表于 2016-2-22 13:54
MATCH("座",Sheet1!A:A),查找Sheet1工作表A列最后一个文本的位置。"座"一般可以算是最大的文本编码了,所以 ...

学习了,多谢大神!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-17 13:43 , Processed in 0.468191 second(s), 9 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表