2 votos

Cómo repartir partes del texto de una celda en otra celda diferente

Gestiono un libro de trabajo en el que estamos añadiendo continuamente filas a medida que se programan los productos. Al programador le gustaría empezar a utilizar un escáner de código de barras para introducir algunos de los datos, para reducir los errores de transcripción. El código de barras existente introduce datos que se parecen a estos ejemplos de abajo.

D00030827001-800649.3
D00030850013:20-800649.3
D00030850001:2-800649.4

Los primeros 9 caracteres son el número de proyecto (D00030850). Los tres caracteres siguientes son el número de la primera muestra (013). Si hay un rango de muestras, habrá dos puntos y la última muestra del rango (20). Después del guión está el número de producto (800649.3). Estoy intentando dividir esto en dos columnas, una para el número de proyecto/muestra y otra para el número de producto, que quedaría así:

D30827-1       800649.3
D30850-13:20   800649.3
D30850-1:2     800649.4

Sé cómo poner el número de producto en su propia columna ( =MID(A1,FIND("-",A1)+1,LEN(A1)) ).  Estoy luchando con la forma de obtener el número de proyecto/muestra en la primera columna, y con el formato que se muestra arriba. Esencialmente, necesito el primer carácter, omitir los siguientes tres 0s, luego los siguientes 5 dígitos, luego un "-", luego el dígito(s) significativo(s) antes del guión o los dos puntos. Si hay dos puntos, necesito los dos puntos y los dígitos después de los dos puntos. Se agradece cualquier ayuda.

0voto

JoeJam Puntos 36

Pude hacerlo en un proceso de 2 pasos.

1) =IFERROR((MID(A1,FIND(":",A1)-2,FIND("-",A1)-FIND(":",A1)+2)),MID(A1,FIND("-",A1)-2,2)) devuelve el producto y el número de muestra (si procede).

2) Analizar los ceros de los resultados del paso 1 =IF(LEFT(B1,1)="0", MID(B1,FIND("0",B1)+1,LEN(B1)),B1) .

0 votos

Yo también pensé en esto, pero como están añadiendo continuamente filas a la hoja de cálculo, tendrían que realizar esta función cada vez que añadieran datos. Supongo que podría escribir una macro para realizar esta función cada vez que añadan filas o guarden la hoja de cálculo, sólo esperaba una fórmula que pudiera copiar en una de las columnas para que no se hicieran pasos adicionales después de añadir una fila.

0 votos

¿Ayudará esta pregunta? superuser.com/questions/483419/

0 votos

He leído varias veces esa pregunta intentando aplicarla a mi situación y no lo veo. El problema para mí es el hecho de que puede haber o no dos puntos que designan múltiples muestras. Y si hay múltiples muestras, necesito mostrar el rango. Intenté escribir una fórmula que mirara el

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X