Remover espaço antes de texto específico

0

Eu tenho uma lista de milhares de marcadores diferentes e preciso remover o espaço entre o número e o mg. Às vezes o espaço está presente e outras vezes não. A posição do texto "mg" não é a mesma em todas as células (pode haver quatro palavras antes ou apenas uma), então eu assumo que o código vba seria a opção mais fácil.

Um exemplo de parte da lista:

IBUPROFEN 5 MG TAB
IBUPROFEN 5MG TAB
IBUPROFEN 5 MG TAB
IBUPROFEN 5MG TAB
ESTRADIOL 0.5 MG TAB
ESTRADIOL 0.5 MG TAB
ESTRADIOL 0.5MG TAB
ESTRADIOL 0.5MG TAB
ESTRADIOL 0.5MG TAB
ATORVASTATIN TAB 20MG
ATORVASTATIN TAB 20 MG
ATORVASTATIN TAB 20 MG
ATORVASTATIN TAB 20 MG
    
por Stacy 26.02.2015 / 18:57

2 respostas

1

Eu duvido que o texto "MG" apareça em qualquer lugar, exceto nos casos que você deseja substituir. Mganga (curandeira) é uma possibilidade, mas eu realmente duvido que esteja lá. Se for esse o caso, você pode fazer um simples find + replace para substituir "MG" por "MG".

Se houver casos em que você tem "MG" e não quer "MG", a resposta de Brian é mais completa.

    
por 26.02.2015 / 19:46
0

Assumindo que é garantido que o "MG" sempre tem um espaço a seguir:

Se você pode ter certeza de que seu teste é sempre todo em maiúsculas, o seguinte deve funcionar:

=SUBSTITUTE(A1," MG ","MG ")

Se você estiver bem com qualquer texto em minúsculas sendo convertido para maiúsculas, o seguinte funcionará:

=SUBSTITUTE(UPPER(A1)," MG ","MG ")

Caso contrário, você precisará anular as chamadas de função SUBSTITUTE para lidar com todos os possíveis cenários de maiúsculas e minúsculas:

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1," MG ","MG ")," mg ","mg ")," Mg ","Mg ")," mG ","mG ")

Se for possível que uma ou mais ocorrências de 'MG' não sejam seguidas por um espaço , será um desafio fazer o que você deseja. O uso de VBA e expressões regulares quase certamente será necessário.

    
por 26.02.2015 / 19:21