EXCEL怎么计算跨年住宿天数和本年度住宿的天数?

用EXCEL计算住宿天数,有人是跨年住宿,怎么计算今年的住宿的天数。

在判断本月的日期上不能使用电脑的系统时间(如today()),不然过了时间后要查以前月份的住宿天数比较麻烦,需要改电脑时间等。建议用一个单元格来记录统计报表的月份,这样一方面便于知道是统计哪个月的,更重要的一方面随时查看任何月份的统计都是正确且不用改时间。

我下面是基于此思路进行设计。

1、在A2输入统计月份的第一天,如统计2012年3月数据则输入2012-3-1,统计2012年4月数据则输入2012-4-1,设置为日期格式

2、B列为入职日期,C列为离职日期,设置为日期格式

3、D列为计算当月住宿天数,设置为数值,小数位0

4、D列的公式

IF(C4=0,IF($A$2>B4,1+DATEDIF($A$2,DATE(YEAR($A$2),MONTH($A$2)+1,1)-1,"d"),1+DATEDIF(B4,DATE(YEAR($A$2),MONTH($A$2)+1,1)-1,"d")),IF(C4<$A$2,0,IF($A$2>B4,1+DATEDIF($A$2,C4,"d"),1+DATEDIF(B4,C4,"d"))))

备注:

对数据异常的情况没有进行特殊处理,如果计算的值不正常(大于月份的天数,或者错误提示等)则说明你输入的日期存在这几种情况,检查一下即可:

1)格式是否按照要求,日期和数据

2)入职日期是否已经大于你统计的月份了,如统计月份是2012-3-1,而出现了入职日期是2012-5-3

3)离职日期是否小于入职日期

4)离职日期的月份是否大于统计的月份,如统计月份是2012-3-1,而离职日期是2012-5-3

温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-12-03

一、不考虑有退房日期的情况

计算今年的住宿天数的公式

=IF(YEAR(E4)<>YEAR(TODAY()),TODAY()-DATE(YEAR(NOW()),1,1),TODAY()-E4)

计算累计的公式

=TODAY()-E4

二、考虑有退房的情况

计算今年的住宿天数的公式

=IF(F4="",IF(YEAR(E4)<>YEAR(TODAY()),TODAY()-DATE(YEAR(NOW()),1,1),TODAY()-E4),IF(YEAR(E4)<>YEAR(TODAY()),F4-DATE(YEAR(NOW()),1,1),F4-E4))


第2个回答  2021-12-03

excel怎么计算跨年住宿天数和本年度住宿天数?就是时间函数。跨年的就是两个时间点时间期间和时间重点自然能算出天数本年度的就是另一个。从1月1号开始到半年度的那一天。公式就都能实现的。

第3个回答  2021-12-03

跨年天数,C2公式=B2-A2

本年天数,C2公式=MIN(DATE(YEAR(A2),12,31),B2)-A2

如图:

第4个回答  2021-12-03
用日期格式登记的话很简单啊 直接相减 有没跨年无所谓的啊A1 2022/1/2为例 减B1 2021/12/1

的住宿天数直接A1-A2相减就好 计算今年的2022/1/2就减 2021/12/31
相似回答