Я пытаюсь обдумать эту огромную формулу и задаюсь вопросом, может ли кто-нибудь помочь?

У меня есть ячейка B7, которая содержит любое из значений (открытый, закрытый, 3g astroturf и т.д.). Я хочу, чтобы он выполнил поиск в этой ячейке, посмотрел, содержит ли текст в этой ячейке значение, и если это так, замените, но если это не так, перейдите к следующему значению и проверьте его.

Просто, правда?

Вот что у меня так далеко:

=IF(SEARCH("outdoor",E7),SUBSTITUTE(B7,"<format>","outdoor"),"")=IF(SEARCH("indoor",E7),SUBSTITUTE(B7,"<format>","indoor"),"")=IF(SEARCH("9-hole",E7),SUBSTITUTE(B7,"<format>","9-hole"),"")=IF(SEARCH("18-hole",E7),SUBSTITUTE(B7,"<format>","18-hole"),"")=IF(SEARCH("club",E7),SUBSTITUTE(B7,"<format>","club"),"")=IF(SEARCH("venue",E7),SUBSTITUTE(B7,"<format>","venue"),"")=IF(SEARCH("astroturf",E7),SUBSTITUTE(B7,"<format>","astroturf"),"")=IF(SEARCH("3g-astroturf",E7),SUBSTITUTE(B7,"<surface>","3G astroturf"),"")=IF(SEARCH("grass",E7),SUBSTITUTE(B7,"<surface>","grass"),"")=IF(SEARCH("hard-macadam",E7),SUBSTITUTE(B7,"<surface>","hard macadam"),"")=IF(SEARCH("concrete",E7),SUBSTITUTE(B7,"<surface>","concrete"),"")=IF(SEARCH("clay",E7),SUBSTITUTE(B7,"<surface>","clay"),"")=IF(SEARCH("indoor",E7),SUBSTITUTE(B7,"<surface>","indoor"),"")=IF(SEARCH("artificial",E7),SUBSTITUTE(B7,"<surface>","artificial"),"")=IF(SEARCH("synthetic-rubber",E7),SUBSTITUTE(B7,"<surface>","synthetic rubber"),"")=SUBSTITUTE(B7,"<venue>",A7)

Любая помощь очень ценится. Спасибо

1 ответ1

4

Поместите свой список слов в другие ячейки:

Затем ссылайтесь на эти ячейки в формуле массива:

=TRIM(SUBSTITUTE(A1,INDEX($G$1:$G$3,MATCH(TRUE,ISNUMBER(SEARCH($G$1:$G$3,A1)),0)),""))

Будучи формулой массива, она должна быть подтверждена с помощью Ctrl-Shift-Enter при выходе из режима редактирования вместо Enter. Если все сделано правильно, Excel поместит {} вокруг формулы.

Это заменит только первое слово в списке, найденное в целевой текстовой строке. Если в списке присутствуют два или более слов, остальные останутся.

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