我有以下公式。它的工作有两个第一个条件。
=IF(F3="","",IF(F3="RUB",IF(FIND("2600",J3),MID(J3,FIND("2600",J3),14)),
IF(F3<>"RUB",IF(FIND(":59:",J3),MID(J3,FIND(":59:",J3)+5,14),
IF(F3<>"RUB",IF(FIND(":59F",J3),MID(J3,FIND(":59F",J3)+6,14)
))))))
但如果符合以下条件,则会显示#VALUE!
IF(F3<>"RUB",IF(FIND(":59F",J3),MID(J3,FIND(":59F",J3)+6,14)
有什么建议如何使它工作?我试图与OR和IFERROR结合,但没有给出任何结果。
答案 0 :(得分:1)
还有一些“漏洞”。在你的逻辑中,你的公式或叙述都没有涵盖。这些将返回FALSE。但是,这更接近您要完成的任务。
=IF(F3="", "", IF(F3="RUB", IF(ISNUMBER(FIND("2600", J3)), MID(J3, FIND("2600", J3), 14)),
IF(F3<>"RUB", IF(ISNUMBER(FIND(":59:", J3)), MID(J3, FIND(":59:", J3)+5, 14),
IF(ISNUMBER(FIND(":59F", J3)), MID(J3, FIND(":59F", J3)+6, 14))))))
答案 1 :(得分:1)
我假设这个问题:
IF(F3<>"RUB",IF(FIND(":59F",J3),MID(J3,FIND(":59F",J3)+6,14)
是否在单元格:59F
中找不到搜索文本J3
。如果你改为:
IF(F3<>"RUB",IF(ISNUMBER(FIND(":59F",J3)),MID(J3,FIND(":59F",J3)+6,14)
它应该解决问题。
编辑 更短的解决方案
IF(F3<>"RUB",IFERROR(MID(J3,FIND(":59F",J3)+6,14)
在旁注中,您的IF(F3<>"RUB",...)
是多余的,因为您已经有一个先前的条件IF(F3="RUB",...)
,所以如果F3<>"RUB"
没有超过第一个FileShare.Read
条件。