Excel 如果满足另一列中的条件,则计算两个日期之间的天数

Excel 如果满足另一列中的条件,则计算两个日期之间的天数,excel,formula,Excel,Formula,我需要帮助为状态表创建一个公式(我对if语句很讨厌)。我有三列,状态,开始日期和完成日期。我需要一个公式,将计算开始和完成日期之间的天数,如果状态等于已完成或已取消。如果状态不是开始日期和[今天]之间需要计算的状态。这可能吗 是的,可能是这样的: =if(or(Status="Completed",Status="Cancelled"),CompletedDate,Today())-StartDate 这应该可以 =IF(A2<>"",C2-B2,TODAY()-B2) …第三列

我需要帮助为状态表创建一个公式(我对if语句很讨厌)。我有三列,状态,开始日期和完成日期。我需要一个公式,将计算开始和完成日期之间的天数,如果状态等于已完成或已取消。如果状态不是开始日期和[今天]之间需要计算的状态。这可能吗

是的,可能是这样的:

=if(or(Status="Completed",Status="Cancelled"),CompletedDate,Today())-StartDate
这应该可以

=IF(A2<>"",C2-B2,TODAY()-B2)
…第三列也可以重命名为“结束日期”,因为取消未完成

..或者,如果要求存在一个开始日期且该日期小于结束日期

=IF(B2>0,IF(AND(C2>B2,ISNUMBER(SEARCH("C",LEFT(A2,1)))),C2-B2,TODAY()-B2),0)

如果你把这些语句翻过来,
ISERROR(FIND(A2,“Completed | Cancelled”)
对于“Cancelled”或“Completed”将是
FALSE
,但是对于“Open”、“continuous”等将是
TRUE
。我只是提供了一种替代方法,来检查第一个字母是否是“C”-例如,如果是“Call Client”这是一个状态选项。”如果单元格A2中的值不是“已完成|已取消”的子字符串,则…'@Chronocidal Nice!似乎更安全,请随意编辑我的答案
=IF(B2>0,IF(AND(C2>B2,ISNUMBER(SEARCH("C",LEFT(A2,1)))),C2-B2,TODAY()-B2),0)