Excel高温补贴公式如何计算指定月份有补贴而没有指定月份没有补贴,自动公式

Excel公式中 在7、8、9、月份,每个月有高温补贴100元,其他月份没有补贴。然后我的另一个公式中是100元除以自然月最后一天乘以出勤天数等于这个月的高温补贴,我需要在指定月份中为每位员工增加高温补贴,然而我需要按员工出勤天数来计算给予多少高温补贴!

公式大致思路如下:
if(or(当前月=7,当前月=8,当前月=9),你的高温补贴公式,无补贴)
高温补助思路如下:

出勤天数/应出勤天数*100
温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-09-05
J3单元格输入
=IF(MATCH(MONTH(TODAY()),{7,8,9},0),100/DAY(EOMONTH(TODAY(),0))*E3,0)
向下复制
如果当天不是计算月份,请将TODAY()改为,储存计算月的单元格的绝对引用,比如:$A$1追问

这公式在7、8、9月份的确实现了结果,但是一旦到了1-6月和10-12月它就会显示 #N/A 而不是0,能否再全面些!谢谢!

追答

=IF(IFERROR(MATCH(MONTH(TODAY()),{7,8,9},0),0),100/DAY(EOMONTH(TODAY(),0))*E3,0)

追问

您这下结果真的出来了,像二楼师傅说的挺对的,我现在改了下,在后面Q3单元格我添加了月份,但是我还是需要在7、8、9月份给我答案,然而在其他月份归零!求解!谢谢!

追答

Q3单元格的格式须是日期格式,是计算月份的任何一天都行。如果不是,公式将按照你输入的格式进行相应的修改,如果只是填入的7,8,9这样的数字,那么前面的公式不行

追问

那我如果在Q3单元格上运用=TODAY() 你看这样行吗?

追答

行啊,引用时写成$Q$3,绝对引用,也可以在Q3输入2016-9-1这样的日期。
=IF(IFERROR(MATCH(MONTH($Q$3),{7,8,9},0),0),100/DAY(EOMONTH($Q$3,0))*E3,0)

本回答被提问者采纳
第2个回答  2016-09-05
在J3中输入或复制粘贴下列公式
=IF(AND(MONTH(C3)>6,MONTH(C3)<10),100,0)/DAY(EOMONTH(C3,0))*E3
下拉填充追问

你把你这公式说明下?没明白你这C3指哪里?

追答

我错了,我以为C3是工人出勤的月份。你将公式中的C3修改为工资统计的那个月份的日期。

第3个回答  2016-09-05
  首先,公式中不要用TODAY()函数,此函数是实时更新的,工资表不一定是当月制订的,再说也不是发放后再销毁,以后打开后会变掉的。可以在某个单元格设置下是几月份的工资表,然后引用此单元格用于公式。
  其次,要确定是否是指定月份,可以增加个判断,月份是不是在7~9之间。追问

嗯!对!您说的挺对了,我怎么没想到这点呢!的确,我应该按你的思路这样做才对,指定月份确定在7、8、9月份给予高温补贴100元一个月,但是还是按照个人出勤天数计算!谢谢!您的提议!

追答

  既然同意此思路,再给个样图吧,标题分三段组成,前后均为合并单元格,前面的右对齐,后面的左对齐,而月份单独使用一个单元格,便于引用,最好再用ROUND确定下小数位数,这里保留两位小数,即保留到分,当然,这种也可以保留到元,最后的参数改为0:

  =ROUND(IF(AND($G$1>6,$G$1<10),100,0)*E3/DAY(DATE(2016,$G$1+1,0)),2)