如何在Excel中计算天气损失天数?

zzlelutf  于 2022-11-18  发布在  其他
关注(0)|答案(2)|浏览(177)

我以前做过一些编程,所以我能够用编程语言解决这个问题。但是,我不知道如何在Excel电子表格中完成我的任务。任何类型的指导都是有帮助的,因为我除了MS Excel的基本用法外什么都不熟悉,所以我甚至不知道该搜索哪些主题来获得解决这个问题的指导。
下面是我的问题的分解:
我在一家建筑公司工作,我一直在计算需要延长到计划截止日期的天数。所有“天气损失天数”都在一列中(假设它们按时间顺序排列,并且没有像2/32/22这样的坏日期)。
根据合同,我们会吃掉任何给定月份的前5个损失天气天数。但是,如果任何给定月份中的损失天气天数超过5天,则我需要将这些天数添加到一个计数中,以延长日程截止日期。因此,如果一个月中的损失天气天数超过5天,我需要开始计数。
例如:
| 日期**|
| - -|
| 2023年1月1日|
| 2023年1月2日|
| 2023年1月13日|
| 2023年1月14日|
| 2023年1月25日|
|23年1月26日|
|23年1月27日|
| 2023年2月1日|
| 2023年2月12日|
在这里,1/6/23和1/7/23需要计算在内,而所有其他日期都被忽略,因为1/1/22、1/2/22、1/3/22、1/4/22和1/5/22是2023年1月的前五天。因此,我应该有一个值为2的单元格。
任何帮助或指导将不胜感激。谢谢。
我还没有尝试任何具体的东西,因为我不熟悉excel的时刻。

nkoocmlb

nkoocmlb1#

=LET(m,EOMONTH(TRANSPOSE(A2:A10),0),
     f,FREQUENCY(m,m),
SUM(IF(f>5,f-5)))

首先将同一个月(/年)的日期转换为该月的结束日期。然后FREQUENCY计算每月相同的天数。然后,如果频率大于5,则减去5,否则忽略。
对于旧版Excel:

=SUM( 
     IF(
        FREQUENCY(               
                  EOMONTH(TRANSPOSE(A2:A10),0),                
                  EOMONTH(TRANSPOSE(A2:A10),0)
                 )>5,
        FREQUENCY(               
                  EOMONTH(TRANSPOSE(A2:A10),0),                
                  EOMONTH(TRANSPOSE(A2:A10),0)
        )-5)
    )
fzwojiic

fzwojiic2#

使用Office 365:

=LET(rng,A2:A10,uq,UNIQUE(DATE(YEAR(rng),MONTH(rng),1)),SUM(BYROW(uq,LAMBDA(a,MAX(0,COUNTIFS(A2:A10,">="&a,A2:A10,"<"&EOMONTH(a,0)+1)-5)))))

相关问题