ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E问E答 > 函数与公式 > 固定格式下如何分月列示每个部门情况及一张表上显示所有部门本月及本年累计情况?

固定格式下如何分月列示每个部门情况及一张表上显示所有部门本月及本年累计情况?

作者:绿色风 分类: 时间:2022-08-17 浏览:126
楼主
houtian23
Q:如图,工作薄中有12张分月列示数据的工作表,每个工作表的样式、格式是一样的,如下图。1、如何能够在一张工作表上选择某部门的时候就显示该部门的数据情况?
2、仿利润表的样式,在一张工作表上,通过选取月份就可以展示所有部门的当月情况及1月到当月的累计情况,如选取5月份,则表上分别显示5月份数据及1-5月份的累计?

 
Q1:选区部门按月列示每个部门每个项目的情况,以便比较某个部门每月变化情况,如下图

 
在A1定义数据有效性(12个月),在C4输入以下公式,并右拉再下拉填充
  1. =INDIRECT(C$3&"!"&CHAR(66+MATCH($A$1,'1月'!$C$3:$J$3,0))&ROW(4:4))
公式解析:match查找各部门的相对位置,利用char返回列标(char(65)=A,以此下推),row返回行号,最后通过indirect返回引用。
锐版的简化公式:
  1. =INDIRECT(C$3&"!rc"&MATCH($A$1,'1月'!$3:$3,),)
效果如下:

 
Q2:在一张工作表上展示所有部门的本月数及本年累计数,当选择某个月时表上的数据就更新为当月数及1到当月的累计数,如下图:

 
在A1定义数据有效性(所有部门),选择本月合计下-项目1的单元格,选择完后按TAB键把活动单元格切换为C4(即本月合计下最左边的单元格),输入公式一,按ctrl+enter填充;选择本年累计下-项目一单元格,选择完后按TAB键把活动单元格切换为D4(即本年累计下最左边的单元格),输入公式二,按ctrl+enter填充;选中项目一下有公式的单元格下拉填充公式。

 
公式一:
  1. =INDIRECT($A$1&"!"&CHAR(66+MATCH(C$3,'1月'!$C$3:$J$3,0))&ROW(4:4))
公式二:
  1. =SUMPRODUCT(N(INDIRECT(ROW(INDIRECT("1:"&LEFTB($A$1,2)))&"月!"&CHAR(66+MATCH(C$3,'1月'!$C$3:$J$3,0))&ROW(4:4))))
公式一原理同问题一
公式二解析:由于双位月份用left无法正确取数因此使用leftb,row+indirect+leftb返回月份数字,char+match+row返回行号列标,然后通过indirect返回引用,由于是indirect多表取数会返回多维引用,需要N函数降维,最后用sumproduct求和
效果图如下:

 

按月列示.rar
2楼
lrlxxqxa
第一个公式可以简化为
  1. =INDIRECT(C$3&"!rc"&MATCH($A$1,'1月'!$3:$3,),)
第二个公式(本年累计)当两位数月份时会出错,请修正。
3楼
houtian23
修改完了
4楼
lrlxxqxa
不错。再按e问e答的规范完善一下格式吧。
e问e答发帖技巧和写作规范
http://www.exceltip.net/thread-4376-1-1.html

5楼
笑熊
锐版,弱弱的问一句,公式里的rc是什么意思,一直没理解过来啊~~~
6楼
nuannuanfirst
有点复杂,下载以后慢慢研究~

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap