Forums Últimos mensajes - Powered by IBM
 

¿cómo personalizar una columna para d.n.i y n.i.e?

06/08/2005 - 16:34 por Toñi de Cartagena. | Informe spam
HOla a todos,

Alguien sabe cómo podría personalizar una columna de tal manera que al
escribir los números del D.N.I. y N.I.E. aparezcan automáticamente los puntos
y que calcule sus letras correspondientes? Gracias, un saludo.
 

Leer las respuestas

#1 JACS
06/08/2005 - 18:44 | Informe spam
Hola echale un vistazo a esto.

Calcular la letra del NIF a partir del DNI


En esta lección veremos como podemos calcular la letra del NIF a partir
del número del DNI. Partiremos de una formula sencilla y la iremos
complicando hasta obtener el resultado deseado.

En primer lugar explicaremos que pasos debemos seguir para obtener la letra
del NIF partiendo del DNI. El proceso es muy fácil, simplemente deberemos
dividir el DNI entre 23 y quedarnos con el resto. Seguidamente deberemos
mirar en la siguiente tabla para obtener la letra que forma parte del NIF.

Esta es la tabla donde deberemos mirar el resto:

Resto
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

Letra
T
R
W
A
G
M
Y
F
P
D
X
B
N
J
Z
S
Q
V
H
L
C
K
E
F



Por ejemplo si al realizar la división de un DNI y obtenemos como resto
el 12, la letra que le pertenece al NIF sería la N.

Vamos a ver como podemos obtener este resultado utilizando las funciones
de Excel.

En primer lugar vamos a plantear la hoja con la que trabajaremos:


En la celda B4 introduciremos el DNI y en la celda C4 es donde
obtendremos el NIF.

Para conseguir obtener la letra del NIF crearemos una cadena de texto
con todas las letras ordenadas de la misma forma que aparece en la tabla
anterior. Seguidamente utilizaremos una función la cual nos permitirá extraer
la letra correspondiente según el resto obtenido de la división del DNI por
23.

Vamos a indicarte los pasos que debes seguir:

1. Sitúate en la celda C4.

2. Accede a la opción Función... del menú Insertar.

3. De la lista Categoría de la función: escoge la opción Texto.

4. En la lista Nombre de la función escoge la función Extrae.

Esta función nos permitirá escoger una letra de entre la cadena de texto
que habremos introducido, según el resto obtenido.

5. Pulsa en el botón Aceptar.

6. Rellena la ventana que te aparece a continuación tal y como vemos en
la siguiente imagen:


Vamos a explicar las partes de esta función:

Texto: en este lugar escribiremos la cadena de texto de la que deseamos
extraer una parte. En nuestro caso es toda la tabla que hemos especificado al
principio de esta misma página.

Posición_inicial: aquí especificaremos la posición del primer carácter que
deseamos obtener del Texto. En nuestro caso utilizaremos otra función
Residuo, que ya hemos visto en otras ocasiones. Con residuo lo que obtenemos
es el resto que se obtiene de dividir la cantidad que aparece en la casilla
B4 por 23. Observa que en la formula que escribimos dentro de la opción
Posición_inicial escribimos 1+, esto es así ya que para el ordenador la
primera posición del Texto es la número 0, con lo que para obtener el
resultado correcto deberemos sumar 1 al resto obtenido.

Núm_de_caracteres: especificamos el número de caracteres deseamos obtener.
En nuestro caso, sólo nos interesa ver una letra, con lo que escribiremos el
número 1.

7. Pulsa sobre el botón Aceptar.

Al terminar de introducir esta formula podrás ver que aparece como
resultado la letra T. Esto es debido a que el ordenador realiza la división
entre lo que hay en la celda: B4 que en este caso está vacía, con lo que el
valor es 0, por 23 y seguidamente le suma 1, con lo que el resultado que se
obtiene es 1. La función extrae la letra que se encuentra en la posición 1 de
la tabla que hemos introducido anteriormente.

8. Sitúate en la celda B4 y escribe como DNI el número: 12345678.

Al salir de esta celda podrás observar como aparece la letra Z.

Bien, ya hemos comprobado que la función funciona. Vamos a depurarla un
poco más para que al borrar el número del DNI no nos aparezca una T como
letra del NIF.

Para ello vamos a utilizar la función Si. Lo que miraremos es que si en
la casilla del DNI no aparece ningún número, no realizaremos la función de
obtener una letra de la lista.

9. Sitúate sobre la celda C4, pulsa F2 para editar la función.

10. Completa la función para que quede de la siguiente forma, (la parte
que aparece en color es la función que teníamos escrita):

=SI(B4<>"";EXTRAE("TRWAGMYFPDXBNJZSQVHLCKEF";1+RESIDUO(B4;23);1);"")

En la primera parte del Si preguntamos si la celda B4 es diferente de
nada. En caso de ser la respuesta Verdadera introduciremos la función para
obtener la letra del NIF, en caso de ser Falsa escribiremos espacios en
blanco para que no aparezca ninguna letra en la casilla del NIF.

11. Borra el DNI que habíamos introducido anteriormente.

Ahora ya tenemos un poco más depurado el resultado, pero ahora vamos a
introducir unos pequeños cambios para que en el momento de obtener el
resultado no sólo veamos la letra del NIF, sino que también obtengamos el DNI
junto con la letra del NIF, más o menos de esta forma: 12345678 - Z. Para
ello vamos a trabajar con la concatenación de diferentes elementos.

12. Sitúate sobre la celda C4, pulsa F2 para editar la función.

13. Completa la función para que quede de la siguiente forma, (la parte
que aparece en color es la función que teníamos escrita):

=SI(B4<> "";B4 & " - " &
EXTRAE("TRWAGMYFPDXBNJZSQVHLCKEF";1+RESIDUO(B4;23);1);"")

Lo que conseguimos con B4 & " - " & EXTRAE("TR... es que escriba el NIF
que hemos introducido en la casilla B4, seguidamente de un espacio en blanco,
un guión y otro espacio en blanco. Y detrás de esto la letra que se obtiene
del NIF.

14. Escribe, como DNI, el número 12345678.

Ahora obtendremos como resultado: 12345678 - Z.

En esta lección hemos visto como utilizar diferentes funciones una
dentro de otra hasta obtener una función compleja.

Te pongo la pagina tambien:

http://66.102.9.104/search?q=cache:CxVgpkuKeJIJ:www.cs.us.es/cursos/ai-2003/Lecciones/Lecciones.doc+averiguar+letra+del+dni&hl=es&lr=lang_es




"Toñi de Cartagena." escribió:

HOla a todos,

Alguien sabe cómo podría personalizar una columna de tal manera que al
escribir los números del D.N.I. y N.I.E. aparezcan automáticamente los puntos
y que calcule sus letras correspondientes? Gracias, un saludo.

Preguntas similares