¿Cómo extraigo estos números?

¿Cómo extraigo estos números?

Tengo una lista de números que tienen la forma 000000xx o 00000yyy. Hay unos cuantos miles de estos. Deseo extraer xx o yyy, pero lo correcto requeriría extraer la cantidad de caracteres. ¿Hay una mejor manera de hacer esto?

Respuesta1

Si tus datos son del formulario:

1234432566ABC
o
765257754322XY

Entonces los últimos tres caracteres tienen la forma:

A B C
o
2XY

Podemos determinar si debemos extraer 2 o 3 caracteres viendo si el primer carácter del trío es numérico o no:

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

ingrese la descripción de la imagen aquí

NOTA:

El truco clave es:

  1. aislando el tercer personajedesde la derecha
  2. poder probar si es unnúmero

Respuesta2

=REPLACE(A1,1,SUM(--ISNUMBER(-LEFT(A1,ROW($A$1:INDEX($A:$A,LEN(A1)))))),"")
  • -ISNUMBER(…devuelve un 1para cada carácter numérico de la cadena.
  • SUM(…luego los agrega para devolver un recuento de los dígitos al comienzo de la cadena.
  • Luego colocamos REPLACElos SUMpersonajes principales con una cadena nula.

ingrese la descripción de la imagen aquí

Respuesta3

Esto debería tirar delxxoyyyen el extremo derecho, siempre y cuando todo tenga 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), "")

La eficiencia del cálculo podría mejorarse si cambia los dos99's a cualquiera que sea el número máximo de dígitos a eliminar.

Respuesta4

A1: 1234432566ABC

A2: 765257754322XY

B1, copiado:

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

entonces,

B1devolver :ABC

B2devolver :XY

información relacionada