Extraer valores condicionados por su valor y posic

Que tal, estoy tratando de obtener una fórmula que me extraiga valores de izquierda a derecha con las variables de 3, 4 y 5 caracteres.
Empezando en A1 como ejemplo, la fórmula empezaría en B1 para extraer de A1 y después copiar la fórmula hacia abajo:
1014/1  resultado= 1014 (extrajo 4 números) ok
15217/1  resultado= 15217 (extrajo 5 números) ok
101/1AB48  resultado= 101 (extrajo 3 números) ok
Traté de formular lo siguiente:
Si(largo(valor(izquierda(a1, 3)))=3, valor(izquierda(a1, 3)), si(largo(valor(izquierda(a1, 4)))=4, valor(izquierda(a1, 4)), si(largo(valor(izquierda(a1, 5)))=5, valor(izquierda(a1, 5)))))
Y el resultado fue
1014/1  resultado= 101 (extrajo 4 números) ERROR
15217/1  resultado= 152 (extrajo 5 números) ERROR
101/1AB48  resultado= 101 (extrajo 3 números) ok
Después intenté así:
Si(valor(izquierda(a1, 5)), extrae(a1, 1,5), si(valor(izquierda(a1, 4)), extrae(a1, 1,4)))
15217/1  resultado= 15217 (extrajo 5 números) ok
 1014/1             resultado=   #¡VALOR!         (extrajo 0 números)   ERROR
Obviamente no estoy considerando algo importante; ojalá alguien pueda formularlo del modo correcto, gracias.

1 respuesta

Respuesta
1
Estoy realmente inspirado más aun dado que estoy escuchando al mejor Billy Jean de todos los tiempos, al gran Michael Jackson!
No te preocupes que puedo ayudarte en tu caso. Estoy analizando y veo que todo depende de la posición de la barra oblicua.
====
Imaginando que tales códigos están en la columna A, entonces en la celda B1 ingresa esta fórmula:
=IZQUIERDA(A1;ENCONTRAR("/";A1;1)-1)
[Fijate si tu separador de argumento de funciones es punto y coma o coma. Yo use punto y coma]
====
A1: 1014/1
A2: 15217/1
A3: 101/1AB48
Los resultado son los siguientes:
B1: 1014
B2: 15217
B3: 101
=====
Estoy de acuerdo contigo en cuanto a lo de Michael Jackson; respecto a lo de la fórmula hay un detalle que no consideré en la pregunta: "puede haber más variables respecto a la "/", es decir, igual de izquierda a derecha puede haber algún otro carácter no numérico. Ejemplo:
A1: 101A
A2: 15217B/4C
A3:3154O23
Igual los resultados deben ser:
B1: 101
B2: 15217
B3: 3154
Realmente el separador lo marca el "carácter no numérico" de izquierda a derecha. Esta un poco complicado, pero supongo que debe existir la solución, espero que la halla. Gracias.
Tal vez un disco más de Michael funcione.
De nuevo gso2008!
De acuerdo, es posible te diré, pero antes tengo una consulta que hacerte!
Cuantos tipos de caracteres no numéricos tienes como separador. Esto es importante que me confirmes para poder realizar una lista de ellos.
Con dicha información podre trabajar en tu caso.
A la espera de tu confirmación
De entrada todo el alfabeto en español; algunos signos como "/", "-" básicamente. Aunque considerando que estos son artículos de tela que asignan en diseño, es posible que halla otros para no repetir combinaciones.
Veamos tu caso:
A1: 101A
A2: 3154O23
A3: 15217/4C
====
La fórmula que haré evalúa después de la extracción si NO es numero. Veo que estas familiarizado con las funciones que tiene tu megaformula. Sin embargo la he mejorado.
*Situate en la celda B1 e ingresa esta megaformula:
=SI(ESNUMERO(VALOR(EXTRAE(A1;4;1)))=FALSO;IZQUIERDA(A1;3);SI(ESNUMERO(VALOR(EXTRAE(A1;5;1)))=FALSO;IZQUIERDA(A1;4);IZQUIERDA(A1;5)))
[Fijate en tu separador de argumento de funciones. Yo he usado punto y coma]
Resultados:
B1: 101
B2: 3154
B3: 15217
====
Espero haberte ayudado en tu caso.
NO olvides de finalizar y puntuar al final de esta página. Esto es importante para que otros usuarios puedan consultar.
La probé y funciona excelente, solo me falta analizarla para entenderla. Definitivamente tendré que consultarte sobre otros problemas parecidos. Gracias por tu tiempo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas