Uno de nuestros lectores nos hizo una consulta para saber como extraer una fecha de un código numérico dentro de una tarjeta sanitaria que se utiliza en Catalunya, denominado CIP.
Este código se compone de:
- 4 valores alfanuméricos que son las abreviaciones del nombre y primer apellido del paciente.
- Un valor que nos indica el género del paciente, 1 si es femenino, 0 si es masculino.
- A continuación 6 valores numéricos que forman la fecha de nacimiento del paciente, por ejemplo 731102 si fuera 11/02/1973
- También aparecen otros 3 dígitos que sirven para diferenciar si hubiera más de un paciente con la misma numeración.
En cualquier caso, como este lo primero que nos debemos plantear es si el código con el que trabajamos siempre es igual, tiene el mismo tamaño y el mismo formato.
En esta ocasión, por ejemplo, el código podría ser: SAGO1700521004 y todos los códigos con los que nos encontremos serían exactamente igual.
Antes de seguir adelante deberemos especificar que para realizar esta práctica se pueden utilizar muchas fórmulas diferentes. Ninguna es mejor que la otra, simplemente son formas diferentes de trabajar.
Primero de todo deberemos aislar los 6 valores que conforman la fecha y que en este caso son 700521. Para ello utilizaremos la función EXTRAE()
Si tenemos el valor en la celda A1 escribiremos la función =EXTRAE(A1;6;6) en la celda B1, donde el primer argumento nos indica donde está el valor con el que trabajaremos, el segundo argumento, la posición inicial del valor a extraer y el último argumento el número de caracteres a extraer.
Ahora ya tenemos el valor 700521, pero queremos tener este valor en formato fecha DD/MM/AA con lo que deberemos ordenarlo y convertirlo en un formato válido.
De la misma forma que hemos extraído todo el código anteriormente podemos trabajar con la celda B1 y extraer:
- el día con la función EXTRAE(B1;5;2)
- el mes EXTRAE(B1;3;2)
- y el año EXTRAE(B1;1;2)
- Pero como lo queremos todo dentro de una misma celda deberemos unirlas todas y poner entre el día, el mes y el año el carácter / para ello lo concatenaremos con &/& quedando la función:
=EXTRAE(B1;5;2)&"/"&EXTRAE(B1;3;2)&"/"&EXTRAE(B1;1;2)
Con esto obtendríamos el resultado esperado 21/05/70
Ahora bien… en este caso hemos utilizado una función puente para poder realizar mejor la explicación, pero no es del todo necesaria, ya que podemos extraer la fecha directamente del código completo.
La función resultante quedaría de la siguiente forma:
=EXTRAE(A1;10;2)&"/"&EXTRAE(A1;8;2)&"/"&EXTRAE(A1;6;2)
Simplemente hemos modificado la celda con la que estamos trabajando y las posiciones iniciales de cada uno de los valores.
Esperemos que con esta práctica hayáis podido ver como extraer información a partir de un código. Es muy sencillo, simplemente hay que verificar que el código siempre es igual y después donde está esta información para poder empezar a trabajar con él.
¿Sabes alguna otra función para poder extraer el código que pedíamos? Si es así nos gustaría que lo compartieras con nuestros seguidores y así pudiéramos ver la potencia de otras funciones en acción.
Deja una respuesta