Fórmula do Excel para substituir texto se uma célula contiver uma determinada palavra

0

Estou tentando entender essa enorme fórmula e imaginar se alguém pode ajudar?

Eu tenho uma célula B7 que contém qualquer um dos valores (outdoor, indoor, 3g astroturf, etc.). Eu quero que ele procure por essa célula, veja se o texto naquela célula contém o valor e, se houver, substitua, mas se não, continue e verifique o próximo valor.

Simples, certo?

Aqui está o que eu tenho até agora:

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

Qualquer ajuda maciçamente apreciada. Obrigado

    
por MarcExcel 04.08.2016 / 17:43

1 resposta

4

Coloque sua lista de palavras em outras células:

Emseguida,façareferênciaaessascélulasemumafórmuladematriz:

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

Sendo uma fórmula de matriz, ela precisa ser confirmada com Ctrl-Shift-Enter ao sair do modo de edição em vez de Enter. Se feito corretamente, o Excel colocará {} em torno da fórmula.

Isso só substituirá a primeira palavra da lista encontrada na cadeia de texto de destino. Se duas ou mais palavras da lista estiverem presentes, as outras permanecerão.

    
por 04.08.2016 / 17:56