Fórmula para extrair a string entre os colchetes Nth

1

A célula A1, A2, A3, etc contém strings semelhantes às seguintes ...

1 x Product A [SG014] 1 x Product B [SG026] 1 x Product C [SG023]

Cada célula na coluna A pode ser uma cadeia de até 20 produtos diferentes e seus códigos associados (por exemplo, SG014, etc).

Na coluna B, quero uma fórmula que retorne o primeiro código. Na coluna C eu quero uma fórmula que retorne o segundo código .... e assim por diante ...

Alguém pode me mostrar como fazer isso?

    
por Michael White 22.12.2014 / 13:32

2 respostas

3

A análise de texto pode ser bastante complicada com vários delimitadores (por exemplo, [e]). Isso pode ser um caso quando deformar bastante o texto com um grande número de espaços, em seguida, retirar o conteúdo desejado e repará-lo com TRIM pode funcionar melhor.

AfórmulaemB1é

=TRIM(MID(REPT(" ", 999)&SUBSTITUTE(SUBSTITUTE($A1, "[", REPT(" ", 999)), "]", REPT(" ", 999)), COLUMN(A:A)*1999, 999))

Preencha corretamente conforme necessário. Poste de volta se você encontrar o limite de códigos associados que você pode extrair antes que isso ocorra; Eu estaria interessado em saber. Se você achar que é inadequado para um grande número de retornos de texto, aumente o número 999 para 9999 ou superior em todos os 5 locais (999 AND 1999). Alguns cálculos rápidos e imediatos me dizem que você deveria estar seguro para 20 produtos.

    
por 22.12.2014 / 16:14
2

Se todos os códigos de produto tiverem 5 caracteres como o seu exemplo, você poderá usar essa fórmula em B1 copiada em

=IFERROR(MID($A1,FIND("^",SUBSTITUTE($A1,"[","^",COLUMNS($B1:B1)))+1,5),"")

    
por 22.12.2014 / 18:21