Dividir datos de una celda en muchas en Microsoft Excel 2010 usando un separador de dos puntos

Dividir datos de una celda en muchas en Microsoft Excel 2010 usando un separador de dos puntos

Quiero retirar las palabras después de los dos puntos en nuevas columnas, por lo que, del siguiente ejemplo, me gustaría Specie en B, jehwejkrhwejkrhwe en C, 06/07/2018 en D, Kim's Wizard Wand Shop en E y Q18FSESPE00374 en F. Cualquiera ideas?

[Producto: Especie], [UMR: jehwejkrhwejkrhwe], [EffDt: 06/07/2018], [Insd: Kim's Wizard Wand Shop], [PolNo: Q18FSESPE00374]

Respuesta1

=MID(A1,SEARCH(":",A1)+1,LEN(A1)-(SEARCH(":",A1)+1))

Mi fórmula deberá aplicarse a los datos de cada celda.

Sería mejor hacer esto en la hoja 2 y señalarlo a sus datos en la hoja 1.

Respuesta2

Esto se puede hacer de dos maneras.


1 - Con una fila auxiliar y dos fórmulas sencillas:

Captura de pantalla de fórmula con fila auxiliar

La fórmula en B2es:

=FIND(CHAR(1),SUBSTITUTE($A$1,":",CHAR(1),COLUMN()-COLUMN($B:$B)+1))

Y la fórmula B3es:

=MID($A$1,B2+1,FIND("]",$A$1,B2)-B2-1)


2 - Sin filas auxiliares pero con una fórmula compleja:

Captura de pantalla de fórmula sin fila auxiliar

La fórmula en B2es:

=MID($A$1,FIND(CHAR(1),SUBSTITUTE($A$1,":",CHAR(1),COLUMN()-COLUMN($B:$B)+1))+1,FIND(CHAR(1),SUBSTITUTE($A$1,"]",CHAR(1),COLUMN()-COLUMN($B:$B)+1))-1-FIND(CHAR(1),SUBSTITUTE($A$1,":",CHAR(1),COLUMN()-COLUMN($B:$B)+1)))

La versión embellecida de la fórmula anterior es la siguiente:

=
MID(
  $A$1,
  FIND(CHAR(1),SUBSTITUTE($A$1,":",CHAR(1),COLUMN()-COLUMN($B:$B)+1))+1,
  FIND(CHAR(1),SUBSTITUTE($A$1,"]",CHAR(1),COLUMN()-COLUMN($B:$B)+1))-1
  -FIND(CHAR(1),SUBSTITUTE($A$1,":",CHAR(1),COLUMN()-COLUMN($B:$B)+1))
)

Notas

  • CHAR(1)se utilizó ya que es casi seguro que ese carácter no aparecerá en una cadena. Por supuesto, podría cambiarse por cualquier otro carácter que esté seguro de que nunca se encontrará en la cadena fuente.

información relacionada