Excel精英培训网

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

[已解决]sum(offset())数组函数应用出错

[复制链接]
发表于 2013-6-1 23:20 | 显示全部楼层 |阅读模式
5学分
详见附件。
最佳答案
2013-6-2 02:22
第一问:
基于表格都是每月空两行的内容不用计算。所以用OFFSET 参数直接跳过。。公式修改如下
  1. =SUM(N(OFFSET($AV21,,3-3*COLUMN($A1:A1))))
复制代码
三键结束。右拉 即可。

第二问:

ROW 跟 COLUMN  都是返回单个值的 数组。。虽然是单个值。但也是数组 {}两个大括号表示了他特殊的身份。

第三问:解惑
问题所在 :多维引用
OFFSET的的后四个参数。只要有任意一个构成数组。那么OFFSET就构成多维引用。。。{-2}已经是单个值的数组。构成多维引用。。多维引用无法用普通函数处理。。。有一些函数可以处理多为引用。。如  :SUBTOTA
  1. =SUM(SUBTOTAL(9,OFFSET($AV21,,3-3*COLUMN($A1:A1))))
复制代码
这里的OFFSET 右拉第二参数的公式生成多个值的内存数组。在偏移构成多维引用。。用SUBTOL 求和每个平面的值。在外套SUM求和 即可。。
或者用N函数。。。N函数可以挖取每个平面左上角的数值。。有用我们这里OFFSET 出来的都是 单个单元格的平面所以可以用N函数来解决 如果是多个引用区域的平面 就要适当的考虑你要的是什么结果在决定了。。公式就是第一问的公式。。

SUMIF 求和 多为引用每个平面的值 外套SUM求和。
  1. =SUM(SUMIF(OFFSET($AV21,,3-3*COLUMN($A1:A1)),"<>"))
复制代码
SUMIF的条件为为条件求和  “<>”
其他也有一些函数可以在多维引用中使用 在这里就不在一一举例,如 数据库函数。。COUNTIF 。等等。。。。

第四: 解题。。。
  1. =SUM(SUMIF($O5:$AV5,COLUMN($A1:A1)&"月",$O21))
复制代码
SUMIF横向条件求和。外套SUM 。


数组函数求和问题 sum(offset()).rar

64.98 KB, 下载次数: 42

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2013-6-2 00:00 | 显示全部楼层
本帖最后由 as0810114 于 2013-6-2 00:02 编辑

AY7输入公式,右拉,下拉。
  1. =SUM($AV7:OFFSET($AV7,,-3*COLUMN(A1)+3))
复制代码
看了半天才看懂。

数组函数求和问题 sum(offset()).zip

75.17 KB, 下载次数: 13

回复

使用道具 举报

 楼主| 发表于 2013-6-2 00:16 | 显示全部楼层
as0810114 发表于 2013-6-2 00:00
AY7输入公式,右拉,下拉。看了半天才看懂。

大哥,AO、AR、AU列的比率是不应加进去的。
回复

使用道具 举报

发表于 2013-6-2 00:23 | 显示全部楼层
本帖最后由 as0810114 于 2013-6-2 00:24 编辑
excel盲2013 发表于 2013-6-2 00:16
大哥,AO、AR、AU列的比率是不应加进去的。


那就改成 AY7输入公式
  1. =SUM(IF($AV7:OFFSET($AV7,,-3*COLUMN(A1)+3)>1,$AV7:OFFSET($AV7,,-3*COLUMN(A1)+3)))
复制代码
三键数组,右拉下拉
如果解决了,记得设置为最佳答案,谢谢。
回复

使用道具 举报

 楼主| 发表于 2013-6-2 00:40 | 显示全部楼层
as0810114 发表于 2013-6-2 00:23
那就改成 AY7输入公式三键数组,右拉下拉
如果解决了,记得设置为最佳答案,谢谢。

兴趣是最好的老师,高手是迟早的事情——你已经是高手了。睡了,明早再看吧,赏金迟早是你的。



回复

使用道具 举报

发表于 2013-6-2 02:22 | 显示全部楼层    本楼为最佳答案   
第一问:
基于表格都是每月空两行的内容不用计算。所以用OFFSET 参数直接跳过。。公式修改如下
  1. =SUM(N(OFFSET($AV21,,3-3*COLUMN($A1:A1))))
复制代码
三键结束。右拉 即可。

第二问:

ROW 跟 COLUMN  都是返回单个值的 数组。。虽然是单个值。但也是数组 {}两个大括号表示了他特殊的身份。

第三问:解惑
问题所在 :多维引用
OFFSET的的后四个参数。只要有任意一个构成数组。那么OFFSET就构成多维引用。。。{-2}已经是单个值的数组。构成多维引用。。多维引用无法用普通函数处理。。。有一些函数可以处理多为引用。。如  :SUBTOTA
  1. =SUM(SUBTOTAL(9,OFFSET($AV21,,3-3*COLUMN($A1:A1))))
复制代码
这里的OFFSET 右拉第二参数的公式生成多个值的内存数组。在偏移构成多维引用。。用SUBTOL 求和每个平面的值。在外套SUM求和 即可。。
或者用N函数。。。N函数可以挖取每个平面左上角的数值。。有用我们这里OFFSET 出来的都是 单个单元格的平面所以可以用N函数来解决 如果是多个引用区域的平面 就要适当的考虑你要的是什么结果在决定了。。公式就是第一问的公式。。

SUMIF 求和 多为引用每个平面的值 外套SUM求和。
  1. =SUM(SUMIF(OFFSET($AV21,,3-3*COLUMN($A1:A1)),"<>"))
复制代码
SUMIF的条件为为条件求和  “<>”
其他也有一些函数可以在多维引用中使用 在这里就不在一一举例,如 数据库函数。。COUNTIF 。等等。。。。

第四: 解题。。。
  1. =SUM(SUMIF($O5:$AV5,COLUMN($A1:A1)&"月",$O21))
复制代码
SUMIF横向条件求和。外套SUM 。


评分

参与人数 1 +6 收起 理由
笨笨四 + 6 介个才是王道.

查看全部评分

回复

使用道具 举报

发表于 2013-6-2 02:24 | 显示全部楼层
建议 观看 小妖同学的 数组中高级教程  在论坛上搜一搜 就找到了。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-29 01:29 , Processed in 0.559993 second(s), 13 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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