首页 > 其他分享 >根据指定周期显示复检周期

根据指定周期显示复检周期

时间:2023-12-31 18:33:39浏览次数:22  
标签:周期 31 检修 指定 日期 函数 复检 Mod

问题:按检修周期自动显示下次需要检修的日期。

函数公式解决:

=IF(MOD(DATEDIF(EOMONTH($B2,-1)+1,E$1-1,"m")+1,SUBSTITUTE($C2,"个月",)),"",E$1+MIN(DAY($B2),DAY(EOMONTH(E$1,0)))-1) 

利用Mod函数计算周期

Mod函数的第一参数是初次检修时间与第一行每个时间之间的月差,使用DateDif函数计算。

两日期间月差会因为起始日期的日大于结果日期的日而且产生不同结果,如1月1日至5月1日差4个月,但1月31日到5月1日就只能算3个月了,所以用Eomonth把起始日期全部改成B列日期所在月的第一天。

Eomonth第二参数是-1是指上个月最后一天,再加1即当月第一天。

结束日期之所以减1,是因为表格对日期的起止计算规则,8月1日是至8月31日不满一个月,到9月1日就是一个月了。

为保证Mod计算结果为0的月份刚好是需要检修的月份,这一参数最后加1。

Mod第二参数就是提取C列检修周期中的数值,如果确定周期不会超过10个月,也可以用Left(C2)提取。

每个检修日期是第一行显示的年、月和初次检修时间的日,正常只需要用E1加上B2的日,即用Day函数提取,如2023年12月1日加上2023年8月10日中的10日,再减1修正即可。

日期会出现一些特殊情况,如2月没有31日,其结果为自动后延至3月,为保证初次检修为月底是复检时间不会落入下个月初,用Min函数提取初检日和该月最后一天的最小值,以2月为例,2月最后一天29日小于初检的31日,以两者中小的29日作为最后的日期。

If部分保证只显示检修日,其他显示空文本。

标签:周期,31,检修,指定,日期,函数,复检,Mod
From: https://www.cnblogs.com/officeplayer/p/17937847

相关文章

  • 前端数据流组装指定格式的文件下载
    有的时候,我们从后端获取了文件数据,需要在前端组合成指定格式的文件,并下载。组合文件,除了数据,还需要规定格式,才知道组合成什么格式的文件。主要代码如下:/**responseText后端获取的文件数据*这里以pdf格式的文件举例,设置type为pdf文件需要的类型**/constblobFil......
  • Java递归查询文件下所有的图片,移动到指定文件夹中,分批次建立子文件夹
    1.代码实例将/Users/shiheng/desktop/测试文件目录下的图片(包含子文件夹目录下的图片)移动到了/Users/shiheng/desktop/测试结果目录下,默认不分批次建立子文件夹,重名文件只保存一个,代码如下所示:packagecom.syrdbt.java.study;importjava.io.File;importjava.util.*;/**......
  • javac 指定主类
    javac指定主类在Java编程中,我们通常使用javac命令来编译我们的Java源代码,生成可执行的字节码文件。当我们有多个类文件时,我们需要指定一个主类来执行程序。本文将详细介绍如何使用javac命令来指定主类,并提供相应的代码示例。什么是主类?在Java程序中,主类是程序的入口点。当我们......
  • java 指定 lib路径
    Java指定lib路径实现流程为了在Java程序中指定lib路径,我们需要按照以下步骤进行操作:步骤一:创建Java项目首先,我们需要创建一个新的Java项目。可以使用任何IDE(如Eclipse、IntelliJIDEA)或者命令行来创建项目。在创建项目时,确保选择Java项目,并设置好项目的名称和路径。步骤二:导入......
  • java对指定的excel续写入数据
    /***向已知表中插入数据,累计追加*写入前先判断表是否存在,表中是否有数据**@paramdateListlist实体类对象*@paramfilePathexcel的路径D:\\123.xls*@throwsException*/publicstaticvoidinserSheetData(List<excelDate>dateList,StringfilePath)thro......
  • js 找出最后一次字符串中指定或者某个字符后面出来的内容
    JS获取最后一个指定字符后面的值示例letstr='http://199.188.18.282:8012/logistics-web/rules/custom-rules'1.找出’/'后面出来的值使用JavaScript中的.substring()方法来实现当然你也可以按的指定字符来截取letstr='http://199.188.18.282:8012/logistics-web/......
  • linux 中实现仅对指定目录下的目录或者文件单独进行迭代
     001、测试目录如下,分别包含目录、文件[root@pc1test]#ls##测试目录dir1dir2dir3dir4file1file2file3file4 002、仅对目录进行迭代 a、[root@pc1test]#ls##测试目录dir1dir2di......
  • git还原指定存储版本
    1、gitstashlist 获取历史存储版本 2、gitstashshow-p'stash@{0}'查看最新存储的信息3、gitstashapply 'stash@{1}'恢复stash@{1}版本的存储,注意:(1) 'stash@{1}'记得在vs中带引号,不然报错。(2) 'stash@{1}'中数字越小版本越新 ......
  • 恒创科技:阻止指定IP地址进行网站访问的简单方式
    ​许多网站管理员,应该都会将恶意持续访问的IP请求视为比较头疼的一个问题。要解决这个不正常的访问请求,增强网站安全性,有些简单方式可用。在下面的文章中,介绍了使用.htaccess来禁止某些IP地址的简单方式。首先,您需要将要阻止的IP地址添加到.htaccess文件中。以下是详......
  • Gartner 魔力象限:全生命周期 API 管理 2023 (Magic Quadrant for Full Life Cycle API
    Gartner魔力象限:全生命周期API管理2023GartnerMagicQuadrantforFullLifeCycleAPIManagement2023作者主页:sysin.orgMagicQuadrantforAPIManagementPublished11October2023魔力象限API为数字化转型、现代化和数字化业务生态系统提供了基础,但管理和治理它们具有......