Simplificando várias fórmulas substitutas no Excel

0

Como simplifico esta fórmula para excluir todas as repetidas - no Excel?

Célula A1: texto --------------- texto-texto --- texto

Célula A2: texto ---- texto - texto --- texto

Eu preciso que seja:

Célula A1: texto-texto-texto-texto

Fórmula que estou usando:

= SUBSTITUTO (SUBSTITUTO (SUBSTITUTO (SUBSTITUTO (A1, "-", "-"), "-", "-"), "-", "-"), "-", " - ")

Eu queria saber se existe uma maneira com a mesma fórmula SUBSTITUTE para fazer algo como 4 * SUBSTITUTE (A1, "-", "-"), então ele faz o trabalho 4 vezes sem uma fórmula enorme.

Obrigado

    
por Joao 17.01.2018 / 12:57

2 respostas

1

na célula b1: =SUBSTITUTE(A1,"--","-") você pode copiar isso para c1, d1, e1 etc. Cada célula adicional à direita terá um a menos - que o anterior. Adicione colunas até que todos os hífens sejam tratados.

Dessa forma, se você adicionar uma nova linha com mais hífens do que nas linhas anteriores, basta criar colunas extras, em vez de alterar a fórmula que fica confusa.

    
por 17.01.2018 / 13:48
1

Um pequeno truque para uma solução de célula única. Se A1 não contiver espaços, em A2 digite:

=SUBSTITUTE(TRIM(SUBSTITUTE(A1,"-"," "))," ","-")

Isso pode lidar com qualquer número de traços consecutivos:

SeA1contiveralgunsespaços,seránecessáriaumafórmulaumpoucomaiscomplexa!

EDIT#1:

SeA1contiverespaços,elesdevemprimeiroser"protegidos" com algo como:

=SUBSTITUTE(A1," ",CHAR(1))

e depois, na substituição mais externa, a "proteção" deve ser removida. A fórmula final é:

=SUBSTITUTE(SUBSTITUTE(TRIM(SUBSTITUTE(SUBSTITUTE(A1," ",CHAR(1)),"-"," "))," ","-"),CHAR(1)," ")

Admito que isso é muito feio, mas ele pode lidar com um número ilimitado de traços.

    
por 17.01.2018 / 14:22