我想在单元格 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(空引号,将为您提供空白单元格),但您可以将其设置为任何您想要的值。