Excel精英培训网

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

[已解决]OFFSET溢出性错误

[复制链接]
发表于 2012-10-4 06:54 | 显示全部楼层 |阅读模式
最近在学习的过程中,发现OFFSET多维引用时,这两种情况会出现溢出性错误,什么叫做溢出性错误? 希望大家给解释一下,谢谢。
另外,顺便问一下,T/N是不是只能对多维引用每个平面只有一个值的时候才会起作用??当一个平面不止一个值的时候就应该用别的函数如:SUBTOTAL。
未命名.jpg

最佳答案
2012-10-4 09:52
我觉得,因为此处引用后的结果是个多为引用,也就是大颗粒数组。。无法用平时的F9和单元格直接能看到。。。因此我们需要对其进行降维,而常用的降维方法 有N T SUBTOTAL 等等,就看你怎么使用了~~
有时觉得IF(1,) 和 SUM也有一定的作用~~~我个人的理解:
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2012-10-4 07:43 | 显示全部楼层
用“N”函数降低维度就可以了,其他的我不会解释,

Book1.rar

5.69 KB, 下载次数: 7

回复

使用道具 举报

发表于 2012-10-4 07:55 | 显示全部楼层
或者直接更改引用参数的行数:
  1. =OFFSET($A$1,1,,5,)
复制代码
回复

使用道具 举报

发表于 2012-10-4 09:52 | 显示全部楼层    本楼为最佳答案   
我觉得,因为此处引用后的结果是个多为引用,也就是大颗粒数组。。无法用平时的F9和单元格直接能看到。。。因此我们需要对其进行降维,而常用的降维方法 有N T SUBTOTAL 等等,就看你怎么使用了~~
有时觉得IF(1,) 和 SUM也有一定的作用~~~我个人的理解:

新建 Microsoft Excel 工作表.rar

2.59 KB, 下载次数: 15

回复

使用道具 举报

 楼主| 发表于 2012-10-4 16:58 | 显示全部楼层
286779240 发表于 2012-10-4 07:43
用“N”函数降低维度就可以了,其他的我不会解释,

嗯,谢谢,我试了一下,不用加IF的话,公式也是可以得出结果的。
  1. =N(OFFSET($A$1,{1;2;3;4;5},))
复制代码
我想,OFFSET出来的是多维引用,而用小妖用平面来解释维度的话,每个平面就只有一个值,这样用N就可以把第个平面的第一个值提取出来。也就是提取了OFFSET的引用出来的每个值。应该这样理解吧。我自己想的。呵呵,,,
回复

使用道具 举报

 楼主| 发表于 2012-10-4 17:14 | 显示全部楼层
huoxieshen 发表于 2012-10-4 09:52
我觉得,因为此处引用后的结果是个多为引用,也就是大颗粒数组。。无法用平时的F9和单元格直接能看到。。。 ...

谢谢你,解释得很详细,而且加例子了。不过我还是有点疑惑,像
=SUM(IF(1,OFFSET($A$1,{1;2;3;4;5},,,2)))  与  =SUM(OFFSET($A$1,{1;2;3;4;5},,,2))
这两个公式结果是一样的为什么,前面一个公式要多加那么一个IF呢?
麻烦您再给我解释一下,谢谢
回复

使用道具 举报

发表于 2012-10-4 17:31 | 显示全部楼层
  1. =SUM(SUM(OFFSET($A$1,{1;2;3;4;5},,,2)))
  2. =SUM(SUM(IF(1,OFFSET($A$1,{1;2;3;4;5},,,2))))
复制代码
这样就有区别了
回复

使用道具 举报

 楼主| 发表于 2012-10-4 17:47 | 显示全部楼层
huoxieshen 发表于 2012-10-4 17:31
这样就有区别了

谢谢你,太给力了。
回复

使用道具 举报

 楼主| 发表于 2012-10-4 19:47 | 显示全部楼层
huoxieshen 发表于 2012-10-4 09:52
我觉得,因为此处引用后的结果是个多为引用,也就是大颗粒数组。。无法用平时的F9和单元格直接能看到。。。 ...

你好我想问一个你给我的示例中的一些问题。
=VLOOKUP(A24:A25,IF(1,OFFSET(A10,{0,0,3,3,6,6},{0,4,0,4,0,4},3,4)),4,0)
示例中的这个公式,OFFSET 生成的是不是一个六个平面的区域(如下图) VLOOKUP.jpg


但IF是如何理解的?
麻烦你给我讲解一下。呵呵
回复

使用道具 举报

发表于 2012-10-4 21:28 | 显示全部楼层
zhoucs00 发表于 2012-10-4 19:47
你好我想问一个你给我的示例中的一些问题。
=VLOOKUP(A24:A25,IF(1,OFFSET(A10,{0,0,3,3,6,6},{0,4,0,4, ...

对于这题,其实去掉IF应该也能计算出正确的结果~~~,但是IF有个特性,我感觉IF在这里的作用就是让内层OFFSET的实际引用数据显现出来,达到F9的功能。但是F9不能跟着公式在单元格中的不断“处理”做跟随。。不过具体的机制我也不是很清楚~~~

新建 Microsoft Excel 工作表.rar

2.3 KB, 下载次数: 2

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-8 12:38 , Processed in 0.398327 second(s), 15 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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