Copiar celda parcial a otra celda en OpenOffice Calc

11

La celda A1 dice 0001 John Smith La celda A2 dice 0002 Bill Snyder

Básicamente quiero dividir esto, por lo que una columna solo muestra los números (0001, 0002, etc.) y luego otra columna solo muestra el nombre.

La primera parte es fácil. Usando la función "= IZQUIERDA (A1; 4)" puedo obtener 0001. ¿Cómo puedo obtener el nombre? Usando "DERECHA (A1; 99)", por ejemplo, tomará toda la cadena "0001 John Smith". Como cada nombre tiene una longitud diferente, no estoy seguro de qué hacer. ¿Puedo decirle de alguna manera que tome la cadena completa, EXCEPTO los primeros 4 caracteres? ¿O de alguna manera le dices que tome las últimas 2 PALABRAS en lugar de una serie de caracteres como se pregunta?


fuente

Respuestas:

12

Para obtener una subcadena que excluye los primeros 4 caracteres (más espacio) puede usar la MIDfunción:

MID(A1,6,LEN(A1))

Resultará en 'John Smith Cell A2 dice 0002 Bill Snyder' . También puede imitar la división de texto con la FINDfunción, por ejemplo, esta fórmula generará '0001' :

LEFT(A1,FIND(" ",A1)-1)

Además, esto generará John (suponiendo que el texto original esté en la celda A1 y la fórmula anterior esté en B1 ):

MID(A1,LEN(B1)+2,FIND(" ",A1,LEN(B1)))

Aquí:

  • A1 - texto original
  • LEN (B1) +2 - posición de inicio (longitud del código 0001 + separador + 1)
  • FIND ("", A1, LEN (B1)) - posición final (es decir, siguiente aparición de espacio)

Y puedes elaborarlo más para obtener las últimas 2 palabras :)

barti_ddu
fuente
Los ejemplos anteriores usan caracteres de coma cuando OpenOffice 4.1 requiere caracteres de punto y coma. Por ejemplo, IZQUIERDA (A1, ENCONTRAR ("", A1) -1) debe estar A LA IZQUIERDA (A1; ENCONTRAR (""; A1) -1)
Frank Cohen