Blog
Obtener el último dígito numérico del NIF/NIE en Excel y así poder filtrar (parte 2)

Cómo en las películas si la primera parte sale bien, te hacen la segunda parte, pues aquí tenemos la segunda parte, ahora bien, tranquilo, no haremos la tercera.
Te dejo la dirección del post anterior por si quieres ver la parte I y saber de que va. (Música de suspense ¡nino, nino…!)
Seguramente te ha pasado bastantes veces que, cuando has terminado o casi ya has rematado el trabajo, viene aquello de…
Y si ahora que tenemos ….. me explicas como o me haces tal…
Ahí viene esta segunda parte. que detallamos a continuación:
Tarea
Ahora tenemos que averiguar que según el dígito en cuestión debemos obtener el mes correspondiente.
¿A qué has pensado en una condición?
Pues sí, pero eso lo veremos en el segundo caso.
Vamos a ver como tienen que ir los meses según los dígitos.
Si los dígitos son del 1 al 7 los meses serán de enero a julio sin problema.
Si los meses son 8, 9 y 0 serán los correspondientes a septiembre, octubre y noviembre respectivamente, por ser el mes de agosto y diciembre inhábiles.
Las Opciones
Veremos dos posibilidades la primera más sencilla, y la segunda no tanto.
Primera opción
La opción de BUSCARV() será la más sencilla ya que buscaremos en un listado donde hemos puesto los diferentes números con los correspondientes meses, el listado se ha colocado en el rango J9:K19, como muestra la imagen siguiente.
Si los deseamos podemos convertir este listado en una tabla, o no, en nuestro caso lo hemos hecho, desde la pestaña Insertar / Tabla.
Le hemos cambiado en nombre a la Tabla por, Tabla_Meses (pestaña Herramientas de tabla / Propiedades).
Una vez realizada la Tabla y renombrada en la celda aplicamos la función BUSCARV() en la celda E9.
NOTA: Al estar trabajando con Tabla de datos al hacer referencias a una celda nos aparecerán las llamadas Referencias estructurada de Tabla haciendo referencia al valor de la columna último nº con el valor [@[ULTIMO Nº]].
Al pulsar Aceptar, nos aparecerá el valor #N/D indicándonos que el valor buscado no es correcto, pero si que lo es, ya que hay un 9 en la celda D9. Y si es correcto, ¿por qué no sale?.
¡ERROR EN LA FÓRMULA! (Ver entrada significado de los errores en fórmula)
Si hemos visto el post anterior el dígito se formuló con la función EXTRAE() y lo que hace la función es, extraer caracteres no números.
Así que vamos a convertir el carácter 9 de la celda D9 en un número con la función VALOR(). Para ello la función VALOR() abarcará la función EXTRAE() como vemos en la imagen siguiente.
Y ahora sí que nos aparecen los meses de la Tabla_Meses correctamente.
Enmendado el error vamos por la segunda opción.
Segunda opción
Mi pregunta es la siguiente. ¿Y si no queremos que haya listado?
Pues el listado tendrá que estar en la fórmula, así de simple, y seguro que has adivinado cómo lo haremos, ¿no?
Para ello vamos a usar la función condicional SI() anidada, pero para no realizar 10 anidaciones utilizaremos las funciones Y() y ELEGIR() para recortarla un poco.
¡Recuerda! que los meses de agosto y diciembre no están, por eso son 10 meses y no 12 como el número de dígitos del 0 al 9.
Primero determinaremos si el dígito en cuestión está entre el 1 y 7 con la función Y().
=SI(Y(D9>=1;D9<=7);
Si los dígitos están entre el 1 y 7 utilizando la función ELEGIR() como respuesta del SI(), determinaremos, que si es 1, será ENERO, si es 2, será FEBRERO… y así hasta JULIO.
=SI(Y(D9>=1;D9<=7);ELEGIR(D9;»ENERO»;»FEBRERO»;»MARZO»;»ABRIL»;»MAYO»;»JUNIO»;»JULIO»);
Si el dígito en cuestión no está entre el 1 y 7 tenemos que anidar un SI() con la opción que si es 8 será SEPTIEMBRE.
=SI(Y(D9>=1;D9<=7);ELEGIR(D9;»ENERO»;»FEBRERO»;»MARZO»;»ABRIL»;»MAYO»;»JUNIO»;»JULIO»);SI(D9=8;»SEPTIEMBRE»;
Haremos lo mismo con el valor 9, anidando a continuación con otro SI() para que si es 9 sea OCTUBRE.
=SI(Y(D9>=1;D9<=7);ELEGIR(A5;»ENERO»;»FEBRERO»;»MARZO»;»ABRIL»;»MAYO»;»JUNIO»;»JULIO»);SI(A5=8;»SEPTIEMBRE»;SI(D9=9;»OCTUBRE»;
Y por último, ya que hemos hecho del 1 al 9 la respuesta para que no sea ninguno de ellos es NOVIEMBRE siendo esta la respuesta para para el 0 (cero) y cerramos con 3 paréntesis la fórmula, ya que son tres el número de condicionales realizadas.
=SI(Y(D9>=1;D9<=7);ELEGIR(A5;»ENERO»;»FEBRERO»;»MARZO»;»ABRIL»;»MAYO»;»JUNIO»;»JULIO»);SI(A5=8;»SEPTIEMBRE»;SI(A5=9;»OCTUBRE»;«NOVIEMBRE»)))
NOTA: La celda D9 al estar en una Tabla de datos hace referencia al valor de la columna último nº con el valor [@[ULTIMO Nº]], siendo esta expresión lo que se llaman Referencias estructuradas.
Espero que os haya gustado y os sea útil en vuestro trabajo.
Os dejo el vídeo explicativo y el archivo utilizado para realizar dicho ejercicio.
Archivo para realizar el ejercicio: Listado_nombres_con_NIF_2.xlsx
Saludos cordiales,
Formador: José García Gibert
Microsoft Office Specialist
Cursos relacionados
Curso Excel nivel medio-avanzado