En España utilizamos un identificador personal único y que desde 2005 contiene un carácter de control para determinar que nuestro NIF (Número de Identificación Fiscal) es correcto.
Para calcular este carácter debemos aplicar una sencilla fórmula a nuestro número del DNI.
Simplemente deberemos dividir el número entre 23 y quedarnos con el resto, a continuación consultar en la siguiente tabla a que letra corresponde.
RESTO | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 |
LETRA | T | R | W | A | G | M | Y | F | P | D | X | B | N | J | Z | S | Q | V | H | L | C | K | E |
De tal forma que si por ejemplo queremos calcula a que letra pertenece el DNI 12345678, deberemos calcular el resto de =12345678/23 de tal forma que el resto es 14. Si miramos la tabla la letra asociada sería Z con lo que el NIF correcto sería: 12345678Z.
Es así de sencillo.
Ahora veamos como podemos aplicar esto utilizando una función de Excel.
Preparemos la hoja de cálculo, en la celda A1 introduciremos el número que queremos calcular y en la B1 insertaremos la fórmula que nos permitirá ver el número e incluso al final de la práctica obtendremos el número con la letra por si nos interesa copiarlo o trabajar con él en algún documento.
Veamos que función nos permite calcular el resto de una división. Esta función es RESIDUO(). Recuerda que esta función tiene dos parámetros, en primer lugar el número que queremos dividir y en segundo lugar el divisor.
Vamos a trabajar con el número que hemos puesto antes como ejemplo y que sabemos el resultado que obtendremos, más adelante cada uno pondrá su DNI para ver si hace bien el cálculo. Introduce en la celda A1 el valor 12345678
En la celda B1 introduce la función =RESIDUO(A1;23) el resultado que obtendremos es 14. Ahora solo debemos mirar en la tabla a que letra corresponde ese resto y vemos que corresponde a la Z.
Ahora veamos como con una función de Excel nos puede devolver en lugar de un valor numérico la letra correcta.
Como en casi todos los casos hay más de una forma para solucionar el mismo problema, nosotros vamos a pensar que todas las letras forman parte de una cadena de caracteres y utilizaremos el residuo para sabes que posición ocupa esa letra y así poder extraerla. De tal forma que la tabla la vamos a convertir en la siguiente cadena: TRWAGMYFPDXBNJZSQVHLCKE
Para poder saber que letra es la correcta vamos a utilizar la función EXTRAE, que nos ayuda a extraer de un texto, una cadena de caracteres a partir de una posición determinada. Esa posición nos la marcará la función RESIDUO() que hemos utilizado anteriormente.
Repasemos la estructura de la función EXTRAE()
EXTRAE(Cadena de texto;Posición inicial;Número de caracteres)
En esta ocasión la cadena de texto serían todas las posibles letras del NIF, recuerda que para poder trabajar con ellas debe ir entre comillas. La posición inicial nos la marcará el resultado del cálculo del resto y en esta ocasión solo deberemos obtener una letra, así que en el argumento, número de caracteres, pondremos 1.
La función quedaría de la siguiente forma:
=EXTRAE("TRWAGMYFPDXBNJZSQVHLCKE";RESIDUO(A1;23);1)
Recuerda que para ver si todo funciona bien pondremos en la celda A1=12345678
Si miramos el resultado de la celda nos devuelve una J y sabemos que el resultado debe ser una Z. ¿Qué ha pasado? La respuesta es muy sencilla, si vemos en la tabla el primer resto que nos muestra la tabla es un 0 (la T), pero en realidad la función extrae la primera posición siempre es la 1, no empieza a contar por 0, con lo único que debemos hacer para mover el resultado una posición es sumar 1 al RESIDUO con lo que la función correcta sería:
=EXTRAE("TRWAGMYFPDXBNJZSQVHLCKE";RESIDUO(A1;23)+1;1)
Ahora el resultado que nos devuelve es la Z. Ahora es el momento de cambiar el número de la celda A para ver si el resultado es el correcto. Puedes introducir tu número de DNI para ver si la letra que nos devuelve Excel es realmente la que figura en tu NIF.
Ahora para ya terminar con la función y en caso que queramos que en la celda B1 nos aparezca el NIF completo deberemos concatenar el número de la A1 con el resultado. Esto lo podemos hacer de diferentes formas, nosotros vamos a utilizar & con lo que la función final debería ser:
=A1&EXTRAE("TRWAGMYFPDXBNJZSQVHLCKE";RESIDUO(A1;23)+1;1)
Para más información sobre el cálculo del NIF podéis consultar la web del Ministerio del Interior.
Comments (3)
Hola hay alguna posibilidad de que el resultado de la formula se de en la misma celda donde meto los datos? osea solo utilizar una celda, en la cual segun meto el numero al dar a intro o salir de la celda me salga con la letra. Gracias
alguien puede pasar un archivo realizado en excel para enseñarselo a mi madre muchas gracias
Prueba =elegir(residuo(celda donde pongas un numero de dni;23) +1;seguido de cada letra entrecomillada y separadavpor ;