是否有可能有一个涉及文本和数学的 =if 方程?

是否有可能有一个涉及文本和数学的 =if 方程?

这就是我所追求的:

=IF(LEFT(Q3,2)="By","参见授权实验室"&"-"&SUM(Q3-L3))

我想说的是,如果 Q3 说“通过”,则返回“参见授权实验室”,如果不是,则从 Q3 中减去 L3(两个单元格都是日期)并返回已经过去的天数。

答案1

Q3单元格的格式似乎为By [date]。Excel 将其视为文本值,而不是日期值。因此,您无法执行类似 的操作Q3-L3。我猜这就是造成混乱的地方。根据数据的设置方式,您可以使用几种方法解决问题。在讨论这些问题之前,让我们先清理一下您的公式。我思考你想要任何一个显示文本“查看授权实验室”或者显示预计需要多少天才能完成。如果是这样,公式应该是

=IF(LEFT(Q3,2)="By", "See authorizing lab", Q3-L3)

现在,对于该Q3-L3部分,我们需要从文本值中提取日期值。有一个函数可以做到这一点。由于我们想跳过前 3 个字符(By),我们还将使用该MID函数。

DATEVALUE(MID(Q3,4,LEN(Q3)))

这将提取从第四个字符开始的所有文本并尝试将其转换为日期值。将其代入公式的其余部分可得到:

=IF(LEFT(Q3,2)="By", "See authorizing lab", DATEVALUE(MID(Q3,4,LEN(Q3)))-L3)

答案2

你当然可以这样做,没有理由不能在同一个IF函数中使用文本和数学。

您的示例不遵循函数的格式IF,即:

=IF(logical_test, value_if_true, value_if_false)

也就是说,你需要用逗号分隔每个部分。因此你的代码应为:

=IF(LEFT(Q3,2)="By", "see authorizing lab", Q3-L3)

SUM(此外,除非您要添加一系列数字,否则无需使用该函数。)

相关内容