Efectivamente, se trata de una operación con el número del DNI. En concreto se obtiene el resto de dividir el número del documento de identidad entre 23, y la letra es el carácter que ocupa esa posición dentro de la siguiente lista de letras, contando la primera posición, la T, como cero:
TRWAGMYFPDXBNJZSQVHLCKE
El motivo por el que se eligió este (des)orden no lo conozco.
Si lo quieres poner como fórmula en una celda utiliza lo siguiente:
Si lo vas a utilizar muchas veces puedes poner las letras en una celda y referirte a ella en las fórmulas, para simplificar su lectura.
Otra posibilidad es crear una función personalizada que calcule la letra. Por ejemplo:
Function LetraNIF(NumeroDNI As Long) As String ' letra del NIF español a partir del número del DNI
LetraNIF = Mid$("TRWAGMYFPDXBNJZSQVHLCKE", (NumeroDNI Mod 23) + 1, 1)
End Function
En este caso tu fórmula de la celda queda más limpia:
Re: Letra del NIF
Efectivamente, se trata de una operación con el número del DNI. En concreto se obtiene el resto de dividir el número del documento de identidad entre 23, y la letra es el carácter que ocupa esa posición dentro de la siguiente lista de letras, contando la primera posición, la T, como cero:
TRWAGMYFPDXBNJZSQVHLCKE
El motivo por el que se eligió este (des)orden no lo conozco.
Si lo quieres poner como fórmula en una celda utiliza lo siguiente:
=EXTRAE("TRWAGMYFPDXBNJZSQVHLCKE";RESIDUO(CeldaConNúmeroDNI;23)+1;1)
Si lo vas a utilizar muchas veces puedes poner las letras en una celda y referirte a ella en las fórmulas, para simplificar su lectura.
Otra posibilidad es crear una función personalizada que calcule la letra. Por ejemplo:
Function LetraNIF(NumeroDNI As Long) As String' letra del NIF español a partir del número del DNILetraNIF = Mid$("TRWAGMYFPDXBNJZSQVHLCKE", (NumeroDNI Mod 23) + 1, 1)
End Function
En este caso tu fórmula de la celda queda más limpia:
=LetraNIF(CeldaConNúmeroDNI)
------
Ya sé Excel, pero necesito más.