知识分享 I 计算指定日期所在月份有几个星期日
如图所示,需要计算A列日期所在月份有几个星期日。
日期所在月份有几个星期日
在B2单元格中输入以下数组公式,按
{"-6-1";"-6-2";"-6-3";……;"-6-30";"-6-31"}
然后,用WEEKDAY函数依次判断这些字符串是星期几,对于实际不存在的日期,如-6-31,将返回错误值#VALUE!,得到内存数组结果为:
{3;4;5;6;7;1;2;3;4;5;6;7;1;2;3;4;5;6;7;1;2;3;4;5;6;7;1;2;3;4;#VALUE!}
再用等式判断以上结果是否等于7,得到由逻辑值TRUE、FALSE及错误值构成的新内存数组。
{FALSE;FALSE;FALSE;FALSE;TRUE;……;#VALUE!}
接下来用0除以以上内存数组,0除以TRUE结果为0,0除以FALSE和错误值,结果为错误值#DIV/0!和#VALUE!。
{#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;0;……;#VALUE!}
最后,用COUNT函数统计其中的数值个数,得到的结果就是每个月的星期日天数。也可以使用以下数组公式完成同样的计算。
{=COUNT(0/(MOD(TEXT(A2,"e-m")&-ROW($1:$31),7)=1))}
先用TEXT函数构成1~31日的日期样式的字符串。
再用MOD函数计算日期字符串与7相除的余数,如果日期为星期日,MOD函数结果为1。
对于不存在的日期返回错误值#VALUE!。接下来用等式判断MOD函数的结果是否等于1,返回由逻辑值和错误值#VALUE!构成的内存数组。
0除以内存数组结果,最后使用COUNT函数计算相除后的数值个数。
以上图文源自
北京大学出版社出版
《Excel 函数与公式应用大全》
知识点全覆盖解决实际问题专业级深度剖析Excel
注意,美好的事情正在发生!