Como faço para extrair esses números?

Como faço para extrair esses números?

Eu tenho uma lista de números no formato 000000xx ou 00000yyy. Existem alguns milhares deles. Desejo extrair xx ou yyy, mas certo exigiria que o número de caracteres fosse extraído. Existe uma maneira melhor de fazer isso?

Responder1

Se seus dados estiverem no formato:

1234432566ABC
ou
765257754322XY

Então os três últimos caracteres têm o formato:

abc
ou
2XY

Podemos determinar se devemos extrair 2 ou 3 caracteres verificando se o primeiro caractere do trio é numérico ou não:

=IF(ISERROR(--(LEFT(RIGHT(A1,3),1))),RIGHT(A1,3),RIGHT(A1,2))

insira a descrição da imagem aqui

OBSERVAÇÃO:

O truque principal é:

  1. isolando o terceiro caractereda direita
  2. poder testar se é umnumeral

Responder2

=REPLACE(A1,1,SUM(--ISNUMBER(-LEFT(A1,ROW($A$1:INDEX($A:$A,LEN(A1)))))),"")
  • -ISNUMBER(…retorna um 1para cada caractere numérico na string.
  • SUM(…em seguida, adiciona-os para retornar uma contagem dos dígitos no início da string.
  • Em seguida, colocamos REPLACEos SUMcaracteres iniciais com uma string nula.

insira a descrição da imagem aqui

Responder3

Isso deve puxar oxxouaaafora da extremidade direita, desde que a coisa toda tenha menos de 99 caracteres.

=RIGHT(A2, LEN(A2)-AGGREGATE(14, 7, ROW($1:$99)/ISNUMBER(--MID(A2, ROW($1:$99), 1)), 1))
'alternate
=REPLACE(A2, 1, AGGREGATE(14, 7, ROW($1:$99)/ISNUMBER(--MID(A2, ROW($1:$99), 1)), 1), "")

A eficiência do cálculo pode ser melhorada se você alterar os dois99é para qualquer que seja o número máximo de dígitos a serem removidos.

Responder4

A1: 1234432566ABC

A2: 765257754322XY

B1, copiado:

=RIGHT(A1,ISERR(-LEFT(RIGHT(A1,3)))+2)

então,

B1retornar :ABC

B2retornar :XY

informação relacionada