Я хочу запустить следующие формулы для ячейки в указанном порядке, если предыдущая формула возвращает ошибку.

=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)

Как я могу определить это?

2 ответа2

1

Мне удалось сделать это с несколькими IFERROR внутри IFERORR:

=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))))

0

Использование IFERROR() является хорошим вариантом. Тем не менее, вам следует избегать использования одной огромной формулы, это плохая практика, и если ваша формула подойдет, она будет слишком большой для отладки. Я бы выбрал это в четырех отдельных колонках

A2

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

Би 2

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

С2

=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 до D, но таким образом вы можете увидеть, как ответ

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .