Excel | Como dividir o texto da string entre dois caracteres diferentes?

0

Esta é a minha primeira vez postando aqui, então tenha paciência comigo.

Eu tenho a seguinte sequência de caracteres na célula A1:

C.Nome da empresa_E.234500_Y.Boston_S.Massachusetts_S.800x600 _

Eu quero analisar CompanyName (texto entre C. e _) em B2, 234500 em C2 (o número 234500 entre E. e _), Boston (texto entre Y. e _) em D2 e assim por diante. .

Qual é a melhor maneira de dividir uma string de texto com base em dois caracteres diferentes? neste caso X. e _

Obrigado

    
por gusilu 19.05.2017 / 20:37

3 respostas

0

Coloque isso no B2:

=MID(TRIM(MID(SUBSTITUTE($A2,"_",REPT(" ",999)),(COLUMN(A:A)-1)*999+1,999)),3,999)

E copie / arraste para cima e para baixo.

    
por 19.05.2017 / 20:44
0

Obrigado pela resposta rápida. Consegui descobrir isso usando essa fórmula: Fórmula

Isso só funciona quando os prefixos para os campos são diferentes (A. B. C. D. E. etc)

    
por 19.05.2017 / 20:55
0

Você deve usar curingas como este, em que "?" é o curinga para caracteres

dim str_to_cut as String, aux_str as String
dim str_ls as Variant()
dim workbook as workbook
set workbook = activeworkbook
dim ws as worksheets
set ws = workbook.sheets(1)

str_to_cut = C.CompanyName_E.234500_Y.Boston_S.Massachusetts_S.800x600_
str_ls = Split(str_to_cut, "_")

for x = 0 to Ubound(str_ls)-Lbound(str_ls)  #size the array
    aux_str = Split(str_ls(x), "=?.")(1)    #maybe you don't need the =
    ws.cells(1, x+2) = aux_str              #need to get the right column 
next x

você pode precisar ajustar sua lógica sobre onde colocar os resultados e talvez algumas sintaxes, felicidades

    
por 19.05.2017 / 20:59