ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助]请教老师如何理解表中的公式

[复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2007-6-15 13:39 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

gouweicao78老师

能请教下如何理解这些个公式吗?

=SUMIF(INDIRECT($A4&"!C2:AG2"),B$2,INDIRECT($A4&"!C14:AG14"))

=IF(C5="","",TEXT(SUMPRODUCT(N(MOD($C5:C5,7)=2)),  "[=0]"""";[<5]第[Dbnum1]0周;"))

这个公式中黄色的部分应该是显示的格式把,可红色部门这么理解呢,特别是公式里的哪个N

=IF(MONTH($AD5+COLUMN(A:A))<>$S$1,"",$AD5+COLUMN(A:A))

这里的黄色部分也不太懂.。

gouweicao78老师,在您的帮助下表格是做完了,但是因为对这些公式还是不太明白,所以也不能举一反三的去运用,比如日期的选择规则变化了,比如说,需要从每月的第一天开始计算第一周,直到把月末不足一周的舍掉(这可能会出现一个月有5周把),公式又要如何变化呢。

只有在理解公式的前提下,才能知道那些函数在这里都起到了些什么作用,才能在以后举一反三,灵活运用,gouweicao78老师,能麻烦您讲讲吗?多谢了

 

[此贴子已经被作者于2007-6-15 22:04:03编辑过]

kdHATokC.rar

19.28 KB, 下载次数: 10

[求助]统计问题(按周统计数量)

TA的精华主题

TA的得分主题

 楼主| 发表于 2007-6-15 20:41 | 显示全部楼层

老师,在吗?

TA的精华主题

TA的得分主题

发表于 2007-6-16 15:51 | 显示全部楼层
QUOTE:
以下是引用YuanQin_work在2007-6-15 13:39:22的发言:

gouweicao78老师

SUMPRODUCT(N(MOD($C5:C5,7)=2)

1、MOD计算日期除于7之后的余数,由于$C5:D5采用了混合引用,所以整个MOD公式的结果是截止当日所有出现过的星期数,如:

在K列,参数为$C5:K5,MOD()的结果是一个序列{1,2,3,4,5,6,0,1,2}

2、=2则将这个结果和"2”比较(这里"2”代表星期一)返回{FALSE,TURE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,TURE}

3、N()函数将上述系列转换为{0,1,0,0,0,0,0,0,1}

4、为不引发数组公式斑竹此处用SUMPRODUCT实现SUM的功能-求和

整个公式的计算思路是:根据当月星期一出现的次数来判断当前是第几周。

TA的精华主题

TA的得分主题

发表于 2007-6-16 15:54 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
QUOTE:

TEXT(周数,  "[=0]"""";[<5]第[Dbnum1]0周;")

求出周数后,用TEXT函数将数字转换成想要的格式。

关于黄色部分的书写格式请另行参考论坛里的帖子,本例的意思是,如果等于0,则显示空字符,如果小于5,则转换成大写并添加“第”和“周”

TA的精华主题

TA的得分主题

发表于 2007-6-16 16:02 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
QUOTE:

=IF(MONTH($AD5+COLUMN(A:A))<>$S$1,"",$AD5+COLUMN(A:A))

公式意思是将第28天的日期加上

TA的精华主题

TA的得分主题

发表于 2007-6-16 18:30 | 显示全部楼层
QUOTE:

=IF(C5="","",TEXT(SUMPRODUCT(N(MOD($C5:C5,7)=2)),  "[=0]"""";[<5]第[Dbnum1]0周;"))

红字部分思路:计算截止当日共计出现的星期一有几个,从而确定是当月的第几周

1、MOD()

求余数函数,关键再$C5:C5,随着单元格的移动,参数包含的数字越来越多,以K列为例,公式为$C5:K5,求余后的结果为

{1,2,3,4,5,6,0,1,2}

2、MOD()=2

余数为2的日期是星期一,所以用"=2“判断有几个星期一,结果为:{FALSE,TRUE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,TRUE}

3、N()

N函数将上述序列转换为数字,TRUE转为1,FALSE转为0,结果为:{0,1,0,0,0,0,0,0,1}

4、求和

上述有序列参与计算,若使用SUM,则必须使用数组公式,使用SUMPRODUCT则不用,所以此处用后者替代求和功能,结果为2,是星期二

5、TEXT

将返回的结果2转换为文字“第二周”。编写规则请参阅论坛里专门的帖子,本例意思是,如果等于零,就显示空字符,如果小于5,则前后各加“第”和“周”显示。

TA的精华主题

TA的得分主题

 楼主| 发表于 2007-6-16 21:57 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2007-6-18 17:30 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-30 00:44 , Processed in 0.044549 second(s), 7 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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