top of page

Introducir código de longitud máxima de 5 caracteres.

Foto del escritor: Jaime Franco JimenezJaime Franco Jimenez

Actualizado: 8 may 2022

Introducir código de longitud máxima de 5 caracteres, siendo los 4 últimos caracteres deben de ser números, y, el primer carácter debe de ser texto.


En la celda A2, voy a introducir un código.


· Este código debe de tener una longitud máxima de 5 caracteres.

· Los últimos 4 caracteres deben de ser números.

· El primer carácter debe de ser texto.








Vamos, primero, a calcular la longitud de la cadena, para ello, vamos a usar la función LARGO, que solo tiene un argumento, que es la celda para calcular la longitud.


=LARGO(A2)


En este caso, tenemos el código correcto, el primer carácter es texto, y, los últimos caracteres son números, por lo que nos devuelve una longitud de 5 caracteres.





Pero, vamos a trabajar con valores booleanos, es decir, verdaderos y falsos, por lo que para convertir la función LARGO a un valor booleano, lo igualamos a 5.


=LARGO(A2)=5





Nos devuelve verdadero, si cambiamos la longitud a un número diferente a 5, vemos que nos devuelve falso.


Vamos por la segunda condición, que es que los últimos 4 caracteres sean umeros.


Para ello, usamos la función DERECHA, y, extraemos 4 caracteres de A2.


=DERECHA(A2;4)


Obtenemos como resultado:




Seleccionamos la función, excepto el signo igual, y, pulsamos F9.


Vemos que nos devuelve los números, pero entre comillas, quiere decir que es texto, y, debemos de tenerlo en formato de número, para ello, usamos la función VALOR, que convierte números en formato de texto en número.





=VALOR(DERECHA(A2;4))


Vemos que ahora quedan alineados a la derecha, porque cuando es número se alinea a la derecha, y, cuando es texto, se alinea a la izquierda.

Pero, hemos dicho, que vamos a trabajar con valores booleanos, pues, después del signo igual, usamos la función ESNUMERO, que nos devuelve verdadero si es número, y, falso si no lo es.


=ESNUMERO(VALOR(DERECHA(A2;4)))


Vemos que nos devuelve verdadero.




Otra forma que lo podemos hacer es como sigue.


Extraemos los 4 últimos caracteres.


= DERECHA(A2;4)


Lo pasamos a formato de número.


=VALOR(DERECHA(A2;4))


Usamos la función suma para sumar esos valores, si hay texto nos devolverá un error.


=SUMA(VALOR(DERECHA(A2;4)))


Por último, usamos la función ESNUMERO.


=ESNUMERO(SUMA(VALOR(DERECHA(A2;4))))


Y tenemos el mismo resultado.


La siguiente condición, es que el primer carácter sea texto.


Esto lo podemos hacer de dos maneras, una más larga que otra.


Para que sea correcto, debemos de obtener el valor de verdadero, así sabremos que es texto.


Lo primero va a ser con la función IZQUIERDA, extraer el primer carácter por la izquierda.


=IZQUIERDA(A2;1)


Lo siguiente es usar la función ESNUMERO.


=ESNUMERO(IZQUIERDA(A2;1))


Nos devuelve falso, porque no es número, pero para que sea correcto, debe de aparecer verdadero, pues, tenemos una función llamada NO que invierte el resultado, pues la vamos a usar.


=NO(ESNUMERO(IZQUIERDA(A2;1)))


Y ya tenemos verdadero.


Y una forma más corta, es usar la función ESTEXTO.


=ESTEXTO(A2)


Y directamente, nos devuelve verdadero, o, falso.


Pues, ya tenemos las tres condiciones necesarias, pero debemos de unirlas, y, todas deben de ser verdaderas para aceptar el número.


Tenemos el operador lógico Y, que devuelve verdadero si todas las condiciones se cumplen, pues la vamos a usar, e, introducimos las tres condiciones.


=Y(LARGO(A2)=5;ESNUMERO(VALOR(DERECHA(A2;4)));NO(ESNUMERO(VALOR(IZQUIERDA(A2;1)))))


Pues, esta es la función para usar en la validación de datos.


La seleccionamos y copiamos.


Vamos a validación de datos.


Desplegamos permitir, y, elegimos personalizada.


Pegamos la formula.


Aceptamos.


Si probamos, veremos que cuando el código no cumple la condición nos devuelve un error.

Por supuesto, podemos poner un mensaje de entrada, y, de error, esto ya se explicó en el tema de validación de datos.


Pues, ya hemos terminado este primer ejemplo.

 
 
 

Comments


© 2019 Miguel Ángel Franco García

bottom of page