Copiando célula parcial para outra célula no OpenOffice Calc

11

A célula A1 diz 0001 John Smith A célula A2 diz 0002 Bill Snyder

Quero basicamente dividir isso, então uma coluna mostra apenas os números (0001, 0002, etc.) e, em seguida, outra coluna mostra apenas o nome.

A primeira parte é fácil. Usando a função "= ESQUERDA (A1; 4)" posso obter 0001. Como posso pegar o nome? O uso de "RIGHT (A1; 99)", por exemplo, captura a sequência inteira "0001 John Smith". Como cada nome tem comprimento diferente, não sei o que fazer. De alguma forma, posso dizer para ele pegar a string inteira, EXCETO os 4 primeiros caracteres? Ou, de alguma forma, diga para ele pegar as duas últimas PALAVRAS em vez de vários caracteres, como está perguntando?


fonte

Respostas:

12

Para obter sub-string excluindo os primeiros 4 caracteres (mais espaço), você pode usar a MIDfunção:

MID(A1,6,LEN(A1))

Isso resultará em 'John Smith Cell A2 diz 0002 Bill Snyder' . Você também pode imitar a divisão de texto com a FINDfunção, por exemplo, esta fórmula produzirá '0001' :

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

Além disso, isso produzirá John (assumindo que o texto original esteja na célula A1 e a fórmula anterior esteja em B1 ):

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

Aqui:

  • A1 - texto original
  • LEN (B1) +2 - posição inicial (comprimento do código 0001 + separador + 1)
  • FIND ("", A1, LEN (B1)) - posição final (ou seja, próxima ocorrência de espaço)

E você pode elaborar ainda mais para obter as últimas 2 palavras :)

barti_ddu
fonte
Os exemplos acima usam caracteres de vírgula quando o OpenOffice 4.1 requer caracteres de ponto e vírgula. Por exemplo, ESQUERDA (A1, FIND ("", A1) -1) precisa ser ESQUERDA (A1; FIND (""; A1) -1))
Frank Cohen