Com dados em A1 , em B1 digite:
=TRIM(MID(SUBSTITUTE($A1,";",REPT(" ",999)),2*999-998,999))
EDIT # 1:
Transforme 2 em 1 para obter tudo antes do primeiro ; .
Faça o 2 em um 3 para obter tudo após o segundo ; .
Eu tenho estas duas células:
35hz 24.5/jy;8243-9884;100093 and
aslhz/45.77;94-224444;103944234
Estou tentando isolar o número entre os ponto e vírgula. Eu usei a função:
=RIGHT(A1, FIND(";",A1)-1)
mas remove mais do que o que está ao lado do ponto e vírgula. Há algo de errado com a fórmula?
RIGHT(CELL,LEN)
fornece caracteres LEN à direita, enquanto FIND retorna o primeiro ponto e vírgula.
Você precisa de algo assim:
A1 35hz 24.5/jy;8243-9884;100093
B1 =FIND(";",A1)
C1 =RIGHT(A1,LEN(A1)-B1)
D1 =FIND(";",C1)
E1 =LEFT(C1,D1-1)
Depois de ver como isso funciona, você pode combinar a fórmula em uma única célula.
Você deve ver o valor 8243-9884
em E1.
Use o preenchimento em Flash do Excel (2013 e posterior): com o texto em uma coluna contígua, digite o primeiro resultado desejado e comece a digitar o segundo resultado desejado e veja o preenchimento em Flash para sugerir o resultado.
Olhe Ma, sem fórmulas!
Editar:
OFlashFilltambémpermitecorrigirfalhasnalógicadetectada.Nacapturadetelaabaixo,aslinhas6e7pegaminicialmenteaúltimapalavradacolunaC.Depoisdecorrigiralinha6atéasegundaúltimapalavra,alinha7seajustaautomaticamenteaessanovaregraemostra"is" em vez de "good". >
Você pode fazer isso para obter o número do meio .
=MID(A1,(FIND(";",A1)+1),(FIND(";",A1,(FIND(";",A1)+1))-(FIND(";",A1)+1)))
MID lhe dá uma string começando em um determinado caractere, e de tamanho especificado. Encontramos o primeiro ";" usando FIND e use-o para o início.
Agora precisamos do comprimento, e para isso temos que encontrar o segundo ";" também, e fazemos isso novamente por FIND, mas começando na posição após o primeiro ";". Esta parte nos dá a posição do segundo ";":
FIND(";",A1,(FIND(";",A1)+1))
A partir disso, subtraímos a posição do primeiro ";" para obter o tamanho e combinar tudo na fórmula acima. Observe que, se sua célula não tiver pelo menos 2 ponto e vírgula, a fórmula retornará um erro.
Se você precisar do número último , precisará do segundo ";", para poder usar:
=RIGHT(A1,LEN(A1)-FIND(";",A1,(FIND(";",A1)+1)))
Para obter o número primeiro , o mais simples:
=LEFT(A1,FIND(";",A1)-1)