Desconcatenar en Excel

Nico -  
 DarthLighter -
Hola,

estoy buscando separar la información en una celda de manera automática utilizando una fórmula, sin tener que hacer la acción manual de convertir.

Aquí hay un ejemplo de datos contenidos en una celda:
2019|Q2|NICO|NCA|NR|EP|Services_Full_SAP|NOR_TEST_SU|PAR|FRA

y me gustaría tener los datos en columnas separadas (utilizando el "|" como separador).

Gracias,
Nicolás

5 respuestas

  1. Raymond PENTIER Mensajes publicados 58226 Fecha de registro   Estado Colaborador Última intervención   17 490
     


    Hola.

    Utilizar DATOS/Conversión.

    --
    ¡Está bien, la jubilación!
    Sobre todo en las Antillas...
    Raymond (INSA, AFPA)
    1
  2. Vaucluse Mensajes publicados 27336 Fecha de registro   Estado Colaborador Última intervención   6 453
     
    Hola
    crear una fórmula para desconcatenar sin usar la función convertir va a ser particularmente acrobático dada la composición del texto
    Sería mejor pasar por VBA con un clic en la celda a tratar
    Saludos

    --
    La calidad de la respuesta depende sobre todo de la claridad de la pregunta, ¡gracias!
    0
  3. Raymond PENTIER Mensajes publicados 58226 Fecha de registro   Estado Colaborador Última intervención   17 490
     
    Mis disculpas: había pasado por encima de la primera frase de Nico, sin detenerme en "gracias a una fórmula" ...
    Mi respuesta #2 es, por lo tanto, fuera de lugar; hay que tener en cuenta el mensaje de Vaucluse, a quien le dirijo mis saludos amistosos.
    Pero es realmente una pena, Nico, no querer aprovechar una herramienta tan potente y eficaz como DONNÉES/Conversion, que seguramente ha requerido un gran trabajo de análisis y programación por parte de los desarrolladores de Microsoft!

    --
    ¡Es genial, la jubilación! Especialmente en las Antillas...
    Raymond (INSA, AFPA)
    0
  4. eriiic Mensajes publicados 24581 Fecha de registro   Estado Colaborador Última intervención   7 281
     
    Hola a todos,
    una pequeña función personalizada para poner en un módulo estándar:
    Function decouper(ch As String, Num As Long, sep As String) decouper = Split(ch, sep)(Num - 1) End Function

    Ejemplo de sintaxis en la hoja:
    =decouper(A2;2;"|")
    https://www.cjoint.com/c/IGmkXdpbJ3k
    eric

    --
    Intentando continuamente, al final se logra.
    Así que cuanto más falla, más posibilidades hay de que funcione. (los Shadoks)
    Además del gracias (¡sí, sí, se hace!), pensar en poner en resuelto. Gracias
    0
  5. DarthLighter
     
    Hola,

    Aquí tienes un pequeño código VBA que puedes utilizar
    Se ha extraído de la herramienta Excel Texto en columnas

     Sub deconcatene() 'Celdas que deseas deconcatenar Range("A1").select 'Código de deconcatenación 'Adaptar el B1 que sirve para localizar la celda a partir de la cual va a pegar los datos Selection.TextToColumns Destination:=Range("B1"), DataType:=xlDelimited, _ TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _ Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar _ :="|", FieldInfo:=Array(Array(1, 2), Array(2, 1), Array(3, 1)), _ TrailingMinusNumbers:=True End Sub 
    0