简要背景:我在保险业工作,出于各种税收原因,我们通常需要知道雇员一年受雇多少个月,以及他们获得保险的月份。雇员在受雇60天后的第一个月有资格获得保险。
获取资格日期很简单。从技术上讲,获取受雇和提供的月数很简单……直到我遇到跨越多年的情况。为了我的报告的目的,我只需要知道2017年的数据。例如,R3在2017年只受雇两个月,所以我需要“#Mon Emp”为2。我目前使用的是=DATEDIF(F2,H2 15,“m”),但这给了我整整6个月的时间。
然后,如果“术语日期”中没有值(即它们仍然被雇用),我也会遇到一个问题。我知道一定有一个公式可以帮助我,但我对Excel公式不太了解,而且我在任何其他问题中都找不到类似的东西。我不能只是将雇用日期更改为1 / 1 / 2017,因为这会弄乱资格。
非常感谢所有的帮助!
以下是您正在寻找的方法,假设如下:
公式。。。
IF(ISBLANK(H2),IF(YEAR(F2)=2017,DATEDIF(F2,DATE(2018,1,1),"m"),12),IF(YEAR(F2)=YEAR(H2),DATEDIF(F2,H2,"m"),DATEDIF(DATE(YEAR(H2)-1,12,31),H2,"m")))
分解它...
如果“学期日期”为空:ISBLANK(H2)
,则获取截至2017年底的雇用月数。
用于获取截至2017年底的雇佣月数的公式部分:< code>IF(YEAR(F2)=2017,DATEDIF(F2,DATE(2018,1,1)," m "),12)
如果“雇用日期”是在 2017 年:YEAR(F2)=2017
期间,则获取从“雇用日期”到 2017 年底的月数:DATEDIF(F2,DATE(2018,1,1),“m”),
否则假设“雇用日期”在 2017 年之前,从而产生 12 个月:12
个月。
如果“任期日期”不为空,则通过“任期日期”得到2017年的就业月数。
公式部分获得2017年至“期限日期”的雇佣月数:
< code>IF(YEAR(F2)=YEAR(H2),DATEDIF(F2,H2," m "),DATEDIF(DATE(YEAR(H2)-1,12,31),H2," m))
如果雇用日期和任期日期相同:YEAR(F2)=YEAR(H2)
,则获取日期之间的差异:DATEDIF(F2, H2,"m")
,否则获取前一年12月31日与“任期日期”之间的差异:DATEDIF(DATE(YEAR(H2)-1,12,31), H2,"m")
。
重要说明…
您可以通过将公式部分中的2017
和DATE(2018,1,1)
替换为对单元格的引用来更新公式以适用于任何计算年,以便对不同年份运行计算, 以获取截至2017年底的月数。
问题内容: 如何从数据库中获取查询的开始日期和结束日期。 谢谢, 问题答案: http://sqltutorials.blogspot.com/2007/06/sql-first-and-last-day-of- month.html 唯一没有涉及的是如何获取当前日期…请参阅rexem的帖子。
问题内容: 以下是我用来计算给定月份的星期开始日期和结束日期的代码。假设周开始日期为MONDAY,周结束日期为SUNDAY。例如,2013年1月将有5个星期。如果月份从星期日开始- 忽略该天 2013年1月第一周-2012年12月31日至2013年1月6日第二周-2013年1月7日至2013年1月13日第三周-2013年1月14日至2013年1月20日第四周-21日-2013至2013年1月27日
问题内容: 我需要Java中本月的开始日期和结束日期。当JSP页面加载了当前月份时,它将自动计算该月份的开始和结束日期。它应该与年份和月份无关。也就是说某个月有31天或30天或28天。这也应该满足a年。你能帮我吗? 例如,如果我在列表框中选择“五月”,则需要开始日期为1,结束日期为31。 问题答案: 你去了: PS:类只是两个值的一对。
问题内容: String febSt = “02/01/2014” ; String febEnd = “02/28/2014” ; 上面的代码是我的输入,我需要“ 03/01/2014”和“ 03/31/2014”作为输出。我尝试了更多代码,也使用了日历功能,但没有结果。从该程序中,我需要下个月的开始和结束日期。 我尝试了更多示例输入,如果我将这些日期作为下个月2月返回的输入,将在2月,4月,6
问题内容: 如果可能的话,在以下情况下,我希望使用joda或非joda解决方案 假设我的一周从2012年5月2日开始,给定的当前日期为02/22/2011。我需要计算给定当前日期的星期开始和结束日期。因此,我的解决方案的星期应该从02/19开始,而星期在02/25结束。为简单起见,我将我的工作日设置为02/05/2011,但是可能是任何一天,我的工作日始终为7天。 我现有的代码如下,但似乎无法按预
问题内容: 我想检查日期是否在开始日期和结束日期之间。 我添加了一个where子句 但问题在于它不包含“ 2010-04-15”。 它应该包括结束日期,我该怎么办? 请帮我 问候, 潘卡 问题答案: 明确指定时间部分: