使用公式提取日期时如何计算两个日期之间的差异

时间:2021-04-30 12:43:08

标签: excel-formula

我需要帮助根据提供的单元格引用提取两个日期之间的差异。但是,给定的那些单元格引用是使用公式“=IF(A19="", "", IF(M19="Created", Timestamp(M19), TEXT(R19, "mm/dd/yyyy hh:mm")提取的)))”。 其中 Timestamp 是用 VBA 脚本编写的函数代码。

举个例子:

R20 的单元格值:“29/04/2021 12:56” (使用公式"IF(A20="", "", IF(M20="Created", Timestamp(M20), TEXT(R20, "mm/dd/yyyy hh:mm"))"

T20 的单元格值:“30/04/2021 11:38”(使用公式提取“=IF(A20="","",IF(M20="Resolved", Timestamp(M20), TEXT( U20, "mm/dd/yyyy hh:mm")))"

现在在 V20 中我应该得到 T20-R20 之间的差异,应该以 hh:mm 格式获取

但我的错误是“#Value#

请提出建议或帮助

2 个答案:

答案 0 :(得分:0)

不确定我是否能帮上很多忙,但你可以试试:

=INT((B10-B9)*24) & ":" & ROUND(((B10-B9)*24-INT((B10-B9)*24))*60,0)

也许有更简单的方法,但它对我有用!

你的结果好像有引号。如果是这样,那么 V20 中的公式将不起作用,您应该更改 VBA 代码以插入日期,而不是文本。

由于您已经在使用 VBA 进行编码,因此您还可以创建另一个 UDF 来进行此计算。

编辑:我记得你可以使用 MOD 来制作一个更简单的公式,如:

=INT((B10-B9)*24) & ":" & MOD((B10-B9)*24,1)*60

答案 1 :(得分:0)

基于上述查询,我​​的实际查询是每当我从相应单元格的数据验证中选择列表时输入时间戳。但是,根据列表中项目的选择/更改,时间戳应保持静态,并且在我保存工作表时不应更改。

即使我尝试禁用“启用迭代计算”,但一旦我保存工作表,日期和时间就会改变。