打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Excel公式练习24:统计两个日期之间有多少个星期一在1日

 

本次的练习是:使用公式求两个指定日期之间日期为1日的星期一数,如图1所示。

 1

 

先不看答案,自已动手试一试。



 

公式

在单元格C2中的公式:

=SUMPRODUCT(--(TEXT(ROW(INDIRECT(C2& ':' & C3)),'aaaa d')='星期一 1'))

 

公式解析

公式中的:

ROW(INDIRECT(C2& ':' & C3)

创建一组表示日期的序列号,如图2所示。

 2

要了解Excel表示日期的原理,详见《Excel提秘5:你看到的不一定是真实的——Excel是怎样表示日期和时间的》。INDIRECT将数据转换成引用,并作为ROW函数的参数生成一系列日期序列号数字。

 

TEXT(ROW(INDIRECT(C2& ':' & C3)),'aaaa d')

TEXT函数将表示日期序列号数字格式成为“星期几 几号”的格式,即显示星期几和数字,若是星期一且为1号则格式为“星期一 1”,如图3所示。

 3

关于TEXT函数的详细使用详见《Excel函数学习32TEXT函数》,如何自定义数字格式请参考《Excel揭秘2:自定义数字格式原理与应用》。

 

接着将TEXT函数格式化的数据与“星期一 1”比较,得到一个包含逻辑值TRUEFALSE的数组,如图4所示。

 4

 

使用双减号将TRUE转换成1FALSE转换成0,如图5所示。

 5

 

SUMPRODUCT函数将数组中的值相加,即得到结果。

 

小结

  • SUMPRODUCT函数是一个数组函数,没有使用Ctrl+Shift+Enter键。

  • Excel中日期是连续的数字。

  • ROW函数生成数组。

  • 双减号能够将逻辑值转换为数字。

  • 不能使用COUNTIF函数来统计TRUE值的数量,否则会出错。


下期预告:

Excel公式练习25:生成在1至10之间且没有重复值的随机数

本次的练习是:使用公式生成位于两个值之间且没有重复值的随机数。如下图所示,生成在110之间且没有重复值的随机数。

  

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
利用Excel函数自动计算星期几和两个日期之间星期几的天数
Excel171 | INDIRECT函数的妙用
EXCEL中的TEXT函数详解
Lookup、Sumifs、Xlookup靠边站!这才是Excel表中最牛4大函数
Lookup、Sumifs靠边站!这才是Excel表格中最牛的4大函数
问与答131:如何获取两个日期之间有多少个星期一?
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服