Excel 自动日期/时间减法公式

Excel 自动日期/时间减法公式

我想在单元格 K14 中执行以下操作:如果单元格 D14 包含C17,则取单元格 F14 并减去 3 小时 45 分钟。

我使用的日期/时间格式是儒略日期/军事时间,因此16271/1845减去 3 小时 45 分钟将是16271/1500。这些日期/时间值存储为文本字符串。儒略日期是两位数的年份,后跟三位数的年份天数。

答案1

以下是根据最初定义的问题为您提供的解决方案:

截屏

单元格 A1 包含符合您格式的示例日期/时间。

B1 使用以下公式将其转换为 Excel 日期/时间:

=DATE(LEFT(A1,2),1,1)+MID(A1,3,3)-1+MID($A1,7,2)/24+RIGHT($A1,2)/1440

它使用文本函数来解析片段,并使用 1 月 1 日根据年份构建日期,然后添加天数(并减去 1,因为年份不能从 1 月 0 日开始)。由于 Excel 将时间存储为一天的分数,因此小时值除以 24,分钟值除以一天的 1440 分钟。

现在,您的输入处于 Excel 可以进行日期/时间计算的表单中。这是最简洁的方法,因为您可能会遇到需要调整天数或年份的值,并且对时间进行十次方计算会变得很麻烦。

C1 包含减去 3 小时 45 分钟后的日期/时间:

=B1-TIME(3,45,0)

D1 将结果转换回您的格式:

=TEXT(C1,"yy")&TEXT(INT(C1)-DATE(YEAR(C1),1,0),"00#")&"/"&TEXT(MOD(C1,1),"hhmm")

它将各个部分连接起来以&构建字符串。

  • 三位数日期是结果日期减去结果年份的“1 月 0 日”的同一时间(时间是存储值的一部分,舍入可能会影响天数)。INT 函数提取午夜的结果日期以匹配计算出的 1 月 0 日日期的时间。
  • MOD 函数提供结果的小数部分,即时间部分,并使用 TEXT 函数以 24 小时格式构建小时和分钟显示。

您可以通过用公式代替单元格引用,在一个难以维护的单元格中完成所有操作。在 D1 中,将每个 C1 引用替换为 C1 中初始 后的公式=。然后将每个 B1 引用替换为 B1 中初始 后的公式=

您的问题描述了一个 IF 条件,但您没有提供足够的信息。在公式中用 F14 代替 A1 来引用正确的输入单元格。单元格 K14 中的 IF 如下所示:

=IF(D14="C17",formula based on above answer,"")

当您将答案中的公式插入 IF 时,不要复制=我的答案公式中的首字母。我假设 false 条件为 null(空引号,将为您提供空白单元格),但您可以将其设置为任何您想要的值。

相关内容