- Se calcula el resto de la división entera entre el número de identificación y 23.
- Con este resto, se extrae la letra de la siguiente tabla:
Por ejemplo, si el número de identificación es 72410695, dividiéndolo por 23 obtendremos resto 2, al que le corresponde la letra W. El NIF será 72410695W.
Para obtener la letra del NIF emplearemos la función EXTRAE. Esta función extrae de una cadena de texto el número de caracteres que se especifique, empezando desde el carácter que se indique. Su sintaxis es:
------------------------------------------------------------------------------------------------------------------------------------------
EXTRAE(texto;posición_inicial;núm_de_caracteres)
EXTRAE devuelve un número específico de caracteres de una cadena de texto, comenzando en la posición que especifique y en función del número de caracteres que especifique.
- texto: Obligatorio. Cadena de texto que contiene los caracteres que se desea extraer.
- posición_inicial: Obligatorio. Posición del primer carácter que se desea extraer del texto. La posición_inicial del primer carácter de texto es 1, y así sucesivamente.
- núm_de_caracteres: Obligatorio. Especifica el número de caracteres que se desea que EXTRAE devuelva del argumento texto.
En C5:
=EXTRAE("TRWAGMYFPDXBNJZSQVHLCKE";RESIDUO(B5;23)+1;1)
El resultado es correcto. Sin embargo, al borrar el número de B5 para hallar otra letra, en C5 aparece la letra T, cosa que no tiene sentido. Lo que ocurre es que al dividir una celda en blanco entre 23, Excel devuelve resto cero, al que le corresponde la letra T. Para evitarlo, hacemos la siguiente corrección:
En C5:
=SI(B5<>"";EXTRAE("TRWAGMYFPDXBNJZSQVHLCKE"; RESIDUO(B5;23)+1;1);"")
Ahora, cuando la celda B5 está vacía, no se muestra nada en C5. Sin embargo, si escribimos un texto en B5, la fórmula devuelve el error #¡VALOR! Lo evitamos con otra corrección:
En C5:
=SI.ERROR(SI(B5<>"";EXTRAE("TRWAGMYFPDXBNJZSQVHLCKE";RESIDUO(B5;23)+1;1);"");"")
=SI(O(B5="";ESTEXTO(B5));"";EXTRAE("TRWAGMYFPDXBNJZSQVHLCKE";RESIDUO(B5;23)+1;1))
En cualquier caso, ya no se producen errores y las fórmulas funcionan correctamente.
Descargar archivo (S94-NIF.xlsx)
pene
ResponderEliminarperfectísima. diría yo
ResponderEliminarMuchas gracias.
ResponderEliminarUn saludo.
Hola Javier. Veo que solo tienes notas en tu a archivo hasta 2013. sigue publicando? o has cambiado de blog.
ResponderEliminarsaludos
La fórmula del del "=SI(B5<>"";EXTRAE("TRWAGMYFPDXBNJZSQVHLCKE"; RESIDUO(B5;23)+1;1);"")" me da error
ResponderEliminarNo me sale, quizá sea por mi versión de excel que no tiene implementada la función de "extrae" ni "resto".
ResponderEliminar