如何在excel中自动生成当前月除周六日外的天数?

如题所述

直接计算出当月除周六日外的天数:
=SUMPRODUCT(--(MOD(WEEKDAY(TEXT(TODAY(),"yyyy-m-")&ROW(INDIRECT("1:"&DAY((MONTH(TODAY())+1&"-1")-1)))),7)>1))

把其中的today()(有两处)改成任意日期(或对日期的引用)就可以计算该日期所在月的除周六日外的天数

原理说明:
MONTH(TODAY())获取当前月
MONTH(TODAY())+1&"-1":下个月的第一天,减1就是这个月最后一天
然后用DAY取得本月的天数
ROW和INDIRECT配合使用取得本月所有天的数组(如1:31),与YYYY-M组成当月每一天
用WEEKDAY获取每天的星期几
然后用SUMPRODUCT对符合条件的天求和

本函数为数组函数,但用了SUMPRODUCT,不需要按CTRL+
SHIFT+ENTER来结束,直接可用
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-05-16
在目标单元格中输入
=IF(OR(MOD(DATE(YEAR(TODAY()),MONTH(TODAY()),ROW(A1)),7)=0,MOD(DATE(YEAR(TODAY()),MONTH(TODAY()),ROW(A1)),7)=1),"",DAY(ROW(A1)))

此公式 往下拉,试试看
相似回答