如图,用什么函数可直接算出累计绩点?(红色字体那行不要列出)第二行是日期,第二行是工作时长。第三行是获得绩点数。工作日:大于等于8可获得1个绩点。周末(图中黄色单元格):大于等于4可获得1个绩点,大于等于8可获得2个绩点。表格中只需要手动填写每日工作时长(或者引用考勤数据,这里不要求),即可直接得出绩点总和。请问用什么函数可以实现?请老师指教谢谢!(如果是用函数先算出每天绩点,再求和这种方法我知道。我想知道可不可以直接一个函数搞定)
我给你提供另一种思路,表格的日期不能只天日,因为我们判断周末必须根据完整日期来,所以你的日期选项里面必须要全填。
然后使用函数来判断周末还是工作日,工作日每8小时取一个绩点,周末每4小时取一个绩点。然后取出来的值求和即可。
公式:
=SUM(IF(WEEKDAY(B1:Z1,2)>5,INT(B2:Z2/4),INT(B2:Z2/8)))
数组公式,同时按下Ctrl+Shift+Enter结束输入。
建议你更换下表格,一个公式搞定,而且选择任意年份和月份,双休日会自动变色。
第一步:函数设置日期
第一行输入年份和月份,可供选择不同年份和月份。A1填年份,C1填月份。在日期之上增加一行星期,日期和星期根据选择的年份和月份自动更新。
B2单元格输入以下公式
=TEXT(IF(DATE($A$1,$C$1,COLUMN(A1))<DATE($A$1,$C$1+1,1),DATE($A$1,$C$1,COLUMN(A1)),""),"aaa")
B3单元格输入以下公式
=TEXT(IF(DATE($A$1,$C$1,COLUMN(A1))<DATE($A$1,$C$1+1,1),DATE($A$1,$C$1,COLUMN(A1)),""),"d日")
依次右拉填充到31,如果当月没有31号,最后几个单元格会自动显示控制。
第二步:条件格式设置双休日变色
选中B2到AF4单元格,“开始”菜单点击“条件格式”,选择“新建规则”。
选择“使用公式确定要设置格式的单元格”,公式输入
=OR(B$2="六",B$2="日")
格式选择颜色填充。确定后,凡是周六和周日的列都会变成黄色。
第三步:计算总绩点
AG4单元格内输入以下公式
=SUMPRODUCT((B2:AF2<>"六")*(B2:AF2<>"日")*IF(B4:AF4>=8,1,0))+SUMPRODUCT(((B2:AF2="六")+(B2:AF2="日"))*IF(B4:AF4>=8,2,IF(B4:AF4>=4,1,0)))
输入完成后同时按Ctrl+Shift+Enter组合键,单独按Enter无效。
可以就我发的图片解说一下吗?用最简洁的方法,你发的这段看起来和我的要求不太相符。sumifs是满足多条件的的单元格数值的求和,我要的不是单元格数值求和
方法是挺好的,但这样的话,就比较难看出来是几号了。而且填写0、1以及工时还要对照日历来填写,操作不方便。
追答公式判断颜色的不可能的,如果是完整日期可以判断周末,但是五一、国庆都有调休无法处理,唯一的办法是日期下面增加一行节假日的标记,用数值表示颜色。
追问weekday()函数可以判断工作日或者周末(暂不考虑调休或者法定假日),颜色不考虑(图片添加颜色是举例说明那两天是周末)。如果按大佬所说的办法,还要另外在一个角落起一行,手动标记0和1作为参照是工作日还是休息日?
追答weekday需要的是年月日的日期格式参数,图上的1日、2日如果是显示格式定制的日期是可以的。如果这是考题,那就用weekday来答卷,如果实际工作,解决不了调休等于没用。