ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 3625|回复: 11

[求助] 如何根据筛选的年月求当年总和。

[复制链接]

TA的精华主题

TA的得分主题

发表于 2015-1-16 22:49 | 显示全部楼层 |阅读模式
表中有08年到12年的数据,希望实现3年的同期累计数据对比,比如说选择了201403,那么希望能显示2013年前3个月的和,2012年前3个月的和,2011年前三个月的和。

SUMPRODUCT 也尝试过,新手但是一直出错,只好发出来求助下了。



根据年月求累计数.zip

37.44 KB, 下载次数: 44

根据年月求累计数值

TA的精华主题

TA的得分主题

发表于 2015-1-16 23:04 | 显示全部楼层
这个还是有点复杂,楼主,课件建三个辅助表格吗?把这三个表格给隐藏了?利用这三个表格计算???

TA的精华主题

TA的得分主题

 楼主| 发表于 2015-1-16 23:17 | 显示全部楼层
本人五笔输入 发表于 2015-1-16 23:04
这个还是有点复杂,楼主,课件建三个辅助表格吗?把这三个表格给隐藏了?利用这三个表格计算???

用"data" 一页计算,我的想法是 先按照办事处分别计算出数值,然后两个地区根据办事处求和就可以了,现在的问题就是办事处的值也算不出, 试过添加辅助列 可能是我设置的不对,也失败。

TA的精华主题

TA的得分主题

发表于 2015-1-16 23:18 | 显示全部楼层
楼主,D32写成这样,你看看对不对?   =SUM(OFFSET(Data!$A$2,0,MATCH("A"&MID(D31,4,2)&"01",Data!$B$1:$BI$1),11,Sheet3!$K$2))

如果选择的是5月,那么就是前五月的加在一起吗???

TA的精华主题

TA的得分主题

发表于 2015-1-16 23:30 | 显示全部楼层
有点不太理解楼的想法。附件有三个工作表不知道是求哪,论据那个工作表达式的数据。

猜一个,对工作表:“地区数据”对单元格:C32、C33分别改成:S1、S2,然后对工作表:“Data”进行条件汇总,单元格D32公式:
  1. =SUMPRODUCT((--RIGHT(Data!$B$1:$BI$1,4)>=RIGHT(D$31,4)-3)*(--RIGHT(Data!$B$1:$BI$1,4)<=--RIGHT(D$31,4))*(Data!$A$2:$A$24=$C32)*(Data!$B$2:$BI$24))
复制代码
往右往下拉

根据年月求累计数.zip

32.26 KB, 下载次数: 43

TA的精华主题

TA的得分主题

 楼主| 发表于 2015-1-16 23:31 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本人五笔输入 发表于 2015-1-16 23:18
楼主,D32写成这样,你看看对不对?   =SUM(OFFSET(Data!$A$2,0,MATCH("A"&MID(D31,4,2)&"01",Data!$B$1:$B ...

对的 ,求高人再指点下逻辑吧,还是有点没理解offset 。

TA的精华主题

TA的得分主题

 楼主| 发表于 2015-1-16 23:45 | 显示全部楼层
dengjq2000 发表于 2015-1-16 23:30
有点不太理解楼的想法。附件有三个工作表不知道是求哪,论据那个工作表达式的数据。

猜一个,对工作表: ...

版主,C32、33 的确是A1 和B1。

当然先做一个S1-S23的条件求和,再求和得出A1 /A2也是可以的,非常感谢您的解答。

TA的精华主题

TA的得分主题

发表于 2015-1-16 23:47 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
先看看 offset函数的帮助文档   http://jingyan.baidu.com/article/54b6b9c0d8866f2d583b47c9.html

=SUM(OFFSET(Data!$A$2,0,MATCH("A"&MID(D31,4,2)&"01",Data!$B$1:$BI$1),11,Sheet3!$K$2))     
在这个公式中,OFFSET 函数式为了定位到要求和的数据区域。首先以DATA 表中的A2为基准,偏移  MATCH("A"&MID(D31,4,2)&"01",Data!$B$1:$BI$1)  函数求出来的这么多列,行不偏移。此时我们定位到了三年中的第一年01月的S1数据(你例子中的N2单元格),再以这个单元格为基准,选取11行(应为是A1),,Sheet3!$K$2(为你选取的月份)这么多列的数据 ,再求和。若是B1,则把公式中的Data!$A$2 改为Data!$A$12就好

再看看吧,欢迎交流。

TA的精华主题

TA的得分主题

 楼主| 发表于 2015-1-17 00:00 | 显示全部楼层
本帖最后由 candy.wang 于 2015-1-17 00:06 编辑
本人五笔输入 发表于 2015-1-16 23:47 http://jingyan.baidu.com/article/54b6b9c0d8866f2d583b47c9.html

=SU ...

貌似看懂了,非常感谢!!!!!!逻辑思维不好的还真想不出用这个来定位月份,非常感谢!!

TA的精华主题

TA的得分主题

发表于 2015-1-17 00:12 | 显示全部楼层
单元格D32数组公式:
  1. =SUMPRODUCT(OFFSET(Data!$A$2:$A$24,,MATCH("A"&RIGHT(D$31,4),Data!$B$1:$BI$1,),,-RIGHT(D$31,2))*(MMULT(--(Data!$A$2:$A$24=TRANSPOSE(IF(LOOKUP(ROW($4:$26),IF($A$4:$A$26<>"",ROW($4:$26)),$A$4:$A$26)=$C32,$B$4:$B$26,))),1^ROW($A$1:$A$23))))
复制代码
往右往下拉

根据年月求累计数.zip

32.6 KB, 下载次数: 57

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

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-12-28 12:17 , Processed in 0.044231 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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