| Artículos | 01 MAR 2004

Validación de datos en la hoja de cálculo

Tags: Histórico
Rodolfo de Benito.
La letra asociada al Número de Identificación Fiscal y los dígitos de control del número de cuenta bancaria tienen como propósito verificar si el número introducido es correcto. Aunque su comprobación no es garantía total de veracidad, detecta errores frecuentes como la omisión o el intercambio de dígitos. En la sección de Trucos OfimÁtica de este mes le presentamos unos trucos para validar el NIF y el código de cuenta bancaria sin necesidad de utilizar macros. También nos ocuparemos de restringir la entrada de datos en las celdas mediante la utilidad de validación,poderosa herramienta que le evitará errores en la introducción de datos. Podrá aplicar todo esto a su hoja de cálculo Excel, Quattro Pro, OpenOfficeo StarOFfice.

Controlar la entrada de datos
- Supongamos que en su hoja de cálculo tiene que introducir una lista de NIF dispuestos en una columna para el número y otra contigua para la letra. ¿Cómo conseguir que en la columna de los números no se admita otro tipo de datos? ¿Y qué hay que hacer para que sólo deje teclear la letra del NIF? La respuesta está en las herramientas de validación disponibles en las hojas de cálculo. Aunque pueden simularse vía macro es interesante conocer sus posibilidades y recurrir a la programación en caso de que no se adapten a sus necesidades.
Excel. Seleccione las celdas que contendrán el número del NIF y elija Datos » Validación. Ahora podrá introducir el criterio de validación eligiendo Permitir: Número entero, Datos: menor que y Máximo: 99999999. Evidentemente, con ello impediremos que se introduzcan números enteros superiores a 99999999. Si lo desea, en las solapas Mensaje entrante y Mensaje de error puede configurar, respectivamente, el texto que aparecerá al entrar en la celda o cuando se produzca un error de validación. Para validar la letra del NIF puede utilizar el criterio Permitir: Lista y seleccionar en la hoja de cálculo las celdas que contengan las 22 letras permitidas en el NIF (ver truco siguiente). También puede optar por el criterio Permitir: Personalizada, introduciendo =Y(ESTEXTO(B2);LARGO(B2)=1) en el apartado Fórmula. B2 es la primera celda que contiene la letra. Con ello se pretende validar textos de longitud 1.
StarOffice y OpenOffice. Para las celdas que contendrán el número se hace igual que para Excel, salvo que en el menú se elige Datos » Validez. De hecho el cuadro de diálogo de la validación es muy similar al de Excel en cuanto a presentación y posibilidades, pero no permite los criterios Lista y Personalizada. Para validar la letra podemos utilizar el criterio Permitir: Longitud del texto, Datos: Igual, Valor: 1. No se olvide de marcar la casilla Mostrar mensaje de error al introducir datos incorrectos en la solapa Mensaje de error. En caso contrario la validación no surtirá efecto.
Quattro Pro. Las opciones de validación están en la solapa Restricciones, accesible pulsando la tecla F12. En realidad estas restricciones no son tales, se refieren a cómo serán considerados los datos: como un texto (opción Sólo etiquetas) o como una fecha (opción Sólo fechas).

Validar la letra del NIF con las funciones de la hoja
- El Número de Identificación Fiscal se compone del número del DNI y de una letra que actúa como dígito de control. Suponga que en su hoja de cálculo desea un sistema para verificar si son correctos o si ha cometido errores al teclearlos. Al igual que en el truco anterior, el número irá en una columna y la letra en la siguiente. En esta ocasión le añadiremos una columna titulada Error que mostrará un asterisco cuando el NIF no sea válido.
Antes de crear la función es necesario saber cómo se calcula la letra del NIF. El proceso consiste en obtener el resto de la división entera del número entre 23 y asociar una letra determinada al número obtenido. Por ejemplo, si el residuo es 0 se le asocia la letra T, si es 1 una R y así sucesivamente. Las letras o códigos de control son TRWAGMYFPDXBNJZSQVHLCKE.
El procedimiento de verificación podemos subdividirlo en tres:
1. Calcular el resto de la división entera entre 23.
2. Calcular la letra que corresponde al residuo. Lo más sencillo es utilizar una cadena de texto para almacenar los códigos de control y luego una función que extraiga la letra de la posición indicada por el residuo calculado anteriormente. Una forma elegante de hacer esto es definir previamente un nombre que haga referencia a la citada cadena:
- Seleccione en el menú Insertar » Nombre » Definir en Excel o Insertar » Nombres » Definir en StarOffice y OpenOffice. En Quattro Pro se pueden crear nombres para referenciar a celdas en Insertar » Nombre » Asignar nombre a celdas pero no sirven para asignar un dato constante como el de este ejemplo.
- Escriba el nombre a definir, por ejemplo DigitosControl.
- En el cuadro de texto Asignar a o Se refiere a escriba =”TRWAGMYFPDXBNJZSQVHLCKE” y pulse Añadir o Agregar según corresponda a su hoja.
De esta manera evitará teclearlos nuevamente cada vez que necesite introducirlos en una fórmula.
3. Comparar la letra obtenida con la tecleada y si son diferentes devolver un asterisco en la columna Error.
Traslademos todo esto a la hoja de cálculo:
Excel, StarOffice y OpenOffice. El cálculo del resto de la división entera es tarea de la función Residuo. Por ejemplo =Residuo(9345678;23) devuelve 19. Para obtener la letra correspondiente utilizaremos la función =Extrae(texto;posición_inicial;núm_de_caracteres). Siendo texto el nombre definido como DigitosControl, posición_inicial el residuo más uno (ya que el residuo puede ser cero) y núm_de_caracteres 1. Es decir, que extraerá la letra situada en la posición indicada por el residuo. En cuanto a comparar las letras, es tarea sencilla para la función =SI(condición;valor_si_verdadero;valor_si_falso). Suponiendo que el número del DNI está en la celda A2 y la letra en B2, la fórmula a introducir en la columna error sería =SI(Extrae(DigitosControl;RESIDUO(A2;23)+1;1)<>B2;”*”;””). Ahora sólo falta copiarla en las celdas restantes.
Quattro Pro. Similar a Excel pero sustituyendo las funciones Residuo por Resto y Extrae por Med. También hay que tener en cuenta que no hemos definido el nombre que referencia a los dígitos de control y que, por tanto, habrá que teclearlos en la propia función. Observe que no se le suma uno al resto (como ocurría con Excel) puesto que el índice de la función Med empieza en cero:
@SI(@MED(“TRWAGMYFPDXBNJZSQVHLCKE”;@RESTO(A2;23);1)<>B2;”*”;””)

Dígitos de control de la cuenta bancaria
- El número de cuenta bancaria está formado por cuatro dígitos para la entidad, cuatro para la oficina, dos dígitos de control y un número de cuenta de diez dígitos. El primer dígito de control se encarga de validar la sucursal y la entidad, mientras que el segundo es para el número de cuenta. Tomemos como ejemplo 2077-0338-78-0001234567 y veamos cómo validarlo:
El primer dígito de control valida 2077-0338 y se calcula de la forma siguiente:
- Sumar el producto de cada dígito por el número que le corresponda, según su posición, en la lista siguiente: 7, 3, 6, 1, 2, 4, 8, 5. De tal forma que el primer número se multiplica

Contenidos recomendados...

Comentar
Para comentar, es necesario iniciar sesión
Se muestran 0 comentarios
X

Uso de cookies

Esta web utiliza cookies técnicas, de personalización y análisis, propias y de terceros, para facilitarle la navegación de forma anónima y analizar estadísticas del uso de la web. Consideramos que si continúa navegando, acepta su uso. Obtener más información