En España se utiliza el NIF. El número de identificación fiscal (NIF) español es un código único que identifica a todos los ciudadanos españoles a efectos fiscales. En España disponemos de un identificador único, personal y numérico, que desde el año 2005 se le ha añadido un carácter de control, convirtiéndose en nuestro NIF (Número de Identificación Fiscal).
Como todos sabéis, o no, el NIF es el resultado de añadirle una letra al DNI. Este carácter de control indica que nuestro número es correcto y su cálculo es fundamental. La letra del NIF se obtiene a partir de un algoritmo conocido como módulo 23.
Entendiendo el Algoritmo del Módulo 23 para el NIF
Todo viene de un algoritmo llamado “módulo 23”. El algoritmo consiste en aplicar la operación aritmética de módulo 23 al número del DNI. El módulo 23 es el número entero obtenido como resto de la división entera del número del DNI entre 23. Al utilizar el módulo 23, el resto resultante estará entre el 0 (cero) y el 22.
El resultado de esta operación es un número comprendido entre el 0 y el 22. Lo importante de la anterior operación es el resto obtenido, ya que este número es el que define la letra que tendrá nuestro NIF.
Tabla de Asignación de Letras del NIF
Con el número obtenido (el resto), miramos la letra que tiene dicha posición en la siguiente cadena de caracteres: «TRWAGMYFPDXBNJZSQVHLCKE». En base a una tabla conocida se asigna una letra.
Lea también: "Laurita Garza": Un corrido, una historia real
Es importante notar que no se utilizan las letras: I, Ñ, O, U. La I y la O se descartan para evitar confusiones con otros caracteres, como 1, l, 0. La Ñ no se utiliza por no existir en otros países. La U tampoco se utiliza.
Correspondencia entre Resto y Letra
| Resto (Módulo 23) | Letra |
|---|---|
| 0 | T |
| 1 | R |
| 2 | W |
| 3 | A |
| 4 | G |
| 5 | M |
| 6 | Y |
| 7 | F |
| 8 | P |
| 9 | D |
| 10 | X |
| 11 | B |
| 12 | N |
| 13 | J |
| 14 | Z |
| 15 | S |
| 16 | Q |
| 17 | V |
| 18 | H |
| 19 | L |
| 20 | C |
| 21 | K |
| 22 | E |
Para el DNI “12345678”, si obtenemos un resto de 14 de la división por 23, la letra correspondiente no es la J si empezamos a contar desde 1. ¡ERROR! Tenemos que empezar a contar desde el 0. Como resultado, la letra correcta para un resto de 14 es la Z.
Distinción entre NIF, NIE y CIF
Es fundamental recordar que este cálculo basado en el “módulo 23” es sólo válido para el cálculo del NIF y del NIE.
El algoritmo no se aplica para obtener el Código de Identificación Fiscal (CIF), que es el "NIF" propio de las personas jurídicas. En el caso del CIF, la letra que tiene no se basa en una fórmula, sino que identifica el tipo de entidad.
Sin embargo, este mismo algoritmo sí puede utilizarse para el cálculo del NIE (Número de Identificación de Extranjero), aunque para este último hay un truquito del que hablaremos al final.
Lea también: Aspectos contables: letra de cambio
Escenario Práctico: Calcular NIF en Excel
Ahora veamos cómo podemos convertir este “tocho” (proceso complejo) en una sencilla fórmula de Excel a la que le podemos sacar mucha utilidad si trabajamos con bases de datos de personas, clientes, etc. Pongámonos en situación: trabajamos en una oficina y tenemos un listado de personas a los que enviar una documentación rápidamente, pero nuestra base de datos sólo localiza personas buscando por su NIF completo. Pero tenemos un problemón… ¡nos han enviado el listado de los NIF sin la letra!
Podemos ir a Internet y buscar una calculadora e ir uno por uno, lo cual es una solución útil si tenemos una lista corta de personas o mucho tiempo libre. Pero si tenemos una lista de 1000 DNI a los que poner letra, ya tenemos más pereza. Abramos nuestro listado de DNI y al lado de la columna de los números, creemos una para la Letra.
Funciones Clave de Excel para el Cálculo del NIF
Función RESIDUO
La función RESIDUO forma parte de la categoría de funciones matemáticas y trigonométricas. Nos sirve para conocer el sobrante (residuo) que haya resultado de la división de dos números. Si la división es exacta nos dará 0, de lo contrario tendremos un residuo diferente a 0.
Su sintaxis es RESIDUO(dividendo;divisor) y nos devuelve precisamente el resto de dividir un número (dividendo) entre otro (divisor). Por ejemplo, si ponemos =RESIDUO(10;3) el resultado es uno, ya que al dividir 10 entre 3, el resto es 1.
Función EXTRAE
La función EXTRAE forma parte de la categoría de funciones de texto y nos sirve para extraer cierto número de caracteres de una cadena de texto.
Lea también: Guía sobre el Tratamiento Contable de Letras de Cambio
Su sintaxis es EXTRAE(Texto;inicio;caracteres) y nos devuelve el número de caracteres especificado en el tercer argumento, a partir de la posición de inicio, del texto indicado como primer argumento.
Aplicando el Algoritmo en Excel para Obtener la Letra del NIF
Vamos a calcular ahora la letra con una sencilla fórmula de Excel utilizando únicamente los datos que ya sabemos: el algoritmo del módulo 23 y el orden de las letras. Supongamos que el número del DNI está en la celda A2.
La fórmula para obtener la letra es la siguiente:
=EXTRAE("TRWAGMYFPDXBNJZSQVHLCKE";RESIDUO(A2;23)+1;1)
Que leído sería algo como: “Quiero que me des el resto de la división entera de la celda A2 entre 23, y que le sumes uno, y que me digas a qué letra corresponde de la lista anterior.”
La función “RESIDUO()” es la que nos calcula, automáticamente, el resto de la división entera del DNI/23. Luego, de la cadena «TRWAGMYFPDXBNJZSQVHLCKE», la función EXTRAE extrae un carácter (el tercer argumento es un uno), comenzando en la posición que se obtiene del resto de dividir lo que hay en A2 por 23, y sumándole 1.
Y es muy importante recordar que el +1 en la fórmula es crucial. Esto se debe a que tenemos que empezar a contar las posiciones en la cadena de letras desde 0 (el resto 0 corresponde a la primera letra, el resto 1 a la segunda, etc.), pero Excel en su función EXTRAE empieza siempre desde la posición 1 para los caracteres. Así, si el resto es 0, al sumarle 1, Excel buscará en la posición 1 (el primer carácter), que es correcto.
Por ejemplo, si queremos calcular a qué letra pertenece el DNI 45127368, deberemos calcular el resto de 45127368/23, de tal forma que el resto es 11. Con este resto de 11, la fórmula indicará la letra B (ya que B está en la posición 11 contando desde 0 en la cadena, lo que sería la posición 12 para Excel al sumar +1).
Ahora ya tenemos nuestra letra.
Construyendo el NIF Completo en Excel
Para que nos aparezca el DNI junto a la letra formando el NIF completo, podemos usar la función CONCATENAR.
Utilizando la fórmula que ya tenemos para la letra, vamos a concatenarla con el DNI. Si el DNI está en la celda A2 y queremos obtener el NIF completo en una sola celda, la fórmula sería:
=CONCATENAR(A2;EXTRAE("TRWAGMYFPDXBNJZSQVHLCKE";RESIDUO(A2;23)+1;1))
Alternativamente, si la letra ya ha sido calculada en una columna separada (por ejemplo, en C2 si el DNI está en B2), la fórmula es más simple:
=CONCATENAR(B2;C2)
Y listo, ahora sólo tendríamos que arrastrar nuestra fórmula a lo largo de la lista de DNI para rellenar automáticamente todos los NIF completos en nuestra hoja de cálculo.
Cálculo de la Letra del NIE en Excel
Para el NIE (Número de Identificación de Extranjero), el algoritmo base es el mismo que para el NIF, pero hay que tener en cuenta ciertas particularidades en el tratamiento del número si este empieza por letra. Una vez aplicada la transformación, el proceso en Excel es idéntico al del NIF:
- Si el NIE empieza por X, se calcula despreciando la X y utilizando los 7 dígitos numéricos restantes como si fueran un DNI.
- En el caso de que el NIE empiece por Y, se cambia la Y por el número 1 y se realiza el mismo cálculo con los 7 dígitos numéricos siguientes.
- Si el NIE empieza por Z, se cambia la letra Z por el número 2 y se realiza el mismo cálculo con los 7 dígitos numéricos siguientes.
Una vez realizada esta conversión inicial (que requeriría una fórmula adicional en Excel para sustituir la letra por el número correspondiente si es Y o Z, o simplemente ignorarla si es X), el cálculo de la letra se realiza exactamente de la misma manera que para el DNI/NIF, aplicando el módulo 23 al número resultante y extrayendo la letra de la secuencia conocida.
