如果出现错误,如何使用不同的公式?

如果出现错误,如何使用不同的公式?

我想按此顺序在单元格上运行以下公式,以防前一个公式返回错误。

=MID(P2,SEARCH("q=",P2)+2,SEARCH("&",P2)-SEARCH("q=",P2)-2)

=MID(P2,SEARCH("p=",P2)+2,SEARCH("&",P2)-SEARCH("p=",P2)-2)

=RIGHT(P2,LEN(P2)-FIND("q=",P2)-1)

=RIGHT(P2,LEN(P2)-FIND("p=",P2)-1)

我该如何定义它?

答案1

我已经设法使用 IFERORR 内的多个 IFERROR 来实现此目的:

=IFERROR(MID(R167,SEARCH("q=",R167)+2,SEARCH("&",R167)-SEARCH("q=",R167)-2),IFE‌​RROR(MID(R167,SEARCH("p=",R167)+2,SEARCH("&",R167)-SEARCH("p=",R167)-2),IFERROR(R‌​IGHT(R167,LEN(R167)-FIND("q=",R167)-1),IFERROR(RIGHT(R167,LEN(R167)-FIND("p=",R16‌​7)-1),zzzzzz))))

答案2

使用IFERROR()公式是一个不错的选择。但是,你应该避免使用一个巨大的公式,这是一种不好的做法,如果你的公式出现问题,它会太大而无法调试。我会选择在四个单独的列中使用这个

A2

=IFERROR(MID(P2,SEARCH("q=",P2)+2,SEARCH("&",P2)-SEARCH("q=",P2)-2),0)

B2

=IF(A2=0,0,MID(P2,SEARCH("p=",P2)+2,SEARCH("&",P2)-SEARCH("p=",P2)-2))

C2

=IF(B2=0,0,RIGHT(P2,LEN(P2)-FIND("q=",P2)-1),0)

D2

=IF(C2=0,0,RIGHT(P2,LEN(P2)-FIND("p=",P2)-1),0)

最后一个简单的SUM就足够了

E2

=SUM(A2:D2)

您可以隐藏/分组列A,但这样你就能看到答案

相关内容