Hoja De Calculo

En el mundo moderno, donde la digitalización se ha convertido en la norma, las herramientas de productividad como Google Sheets se han vuelto esenciales para muchas empresas y profesionales. En este artículo, exploraremos un aspecto fundamental de la gestión de datos en Google Sheets: la validación de RUTs chilenos. A través de Google Apps Script, una poderosa herramienta de automatización, aprenderemos cómo implementar una fórmula personalizada para validar RUTs chilenos en nuestras hojas de cálculo. ¡Prepárate para mejorar la precisión y eficiencia de tus datos con este tutorial paso a paso!

Paso 1: Acceso al Editor de Secuencias de Comandos de Google Sheets

Lo primero que necesitamos hacer es acceder al Editor de Secuencias de Comandos de Google Sheets. Para ello, abre tu hoja de cálculo en Google Sheets y selecciona «Herramientas» en la barra de menú. Luego, haz clic en «Editor de secuencias de comandos».

Paso 2: Creación de la Función Personalizada en Google Apps Script

Una vez en el Editor de Secuencias de Comandos, escribiremos una función personalizada en JavaScript para validar los RUTs chilenos. Copia y pega el siguiente código en el editor:

function validarRUT(rut) {
  rut = rut.toString().toUpperCase().replace(/[^0-9K]/g, '');
  • rut = rut.toString().toUpperCase(): Esta línea convierte el valor de entrada rut en una cadena de texto y luego la convierte a mayúsculas. Esto asegura que cualquier letra «k» o «K» en el RUT sea tratada de la misma manera, ya que el dígito verificador puede ser tanto un número como la letra «K» en mayúscula.
  • .replace(/[^0-9K]/g, ''): Esta parte de la línea utiliza una expresión regular para eliminar todos los caracteres que no sean números del RUT, manteniendo solo los números y la letra «K» en mayúscula. Esto es útil para limpiar cualquier formato no válido que pueda tener el RUT.
  if (rut.length != 8 && rut.length != 9) return false;
  • if (rut.length != 8 && rut.length != 9): Esta línea verifica si la longitud del RUT es válida. En Chile, un RUT válido tiene 8 o 9 caracteres, dependiendo de si incluye un guion como separador entre el número y el dígito verificador. Si el RUT no tiene la longitud correcta, la función devuelve false, lo que indica que el RUT es inválido.
  var dv = rut.charAt(rut.length - 1);
  var num = rut.substr(0, rut.length - 1);
  • var dv = rut.charAt(rut.length - 1);: Esta línea extrae el dígito verificador del RUT, que es el último carácter de la cadena.
  • var num = rut.substr(0, rut.length - 1);: Esta línea extrae el número del RUT, que es todo el RUT excepto el dígito verificador.
  if (isNaN(num)) return false;
  • if (isNaN(num)): Esta línea verifica si el número del RUT es un valor numérico válido. Si num no es un número válido, la función devuelve false, lo que indica que el RUT es inválido.
  var suma = 0;
  var multiplo = 2;
  
  // Calculamos la suma ponderada
  for (var i = num.toString().length - 1; i >= 0; i--) {
    suma += parseInt(num.toString().charAt(i)) * multiplo;
    multiplo = multiplo === 7 ? 2 : multiplo + 1;
  }
  • Esta sección del código calcula la suma ponderada de los dígitos del número del RUT. Utiliza un ciclo for para recorrer los dígitos del número del RUT de derecha a izquierda. Para cada dígito, multiplica su valor por un factor y lo suma a la suma total. El factor comienza en 2 y se alterna entre 2 y 3 en cada iteración.
  var resto = suma % 11;
  var verif = 11 - resto;
  • var resto = suma % 11;: Esta línea calcula el resto de dividir la suma ponderada por 11.
  • var verif = 11 - resto;: Esta línea calcula el valor del dígito verificador esperado restando el resto de 11.
  if (verif == 11 && dv == '0') return true;
  if (verif == 10 && (dv == 'K')) return true;
  if (verif == parseInt(dv)) return true;
  • Estas líneas verifican si el dígito verificador calculado coincide con el dígito verificador proporcionado en el RUT. Hay tres casos posibles:
    1. Si el dígito verificador calculado es 11 y el dígito verificador proporcionado es ‘0’, el RUT es válido.
    2. Si el dígito verificador calculado es 10 y el dígito verificador proporcionado es ‘K’, el RUT es válido.
    3. Si el dígito verificador calculado es igual al dígito verificador proporcionado como número entero, el RUT es válido.

Si ninguna de estas condiciones se cumple, la función devuelve false, indicando que el RUT es inválido.

Código completo
function validarRUT(rut) {
  rut = rut.toString().toUpperCase().replace(/[^0-9K]/g, '');
  
  if (rut.length != 8 && rut.length != 9) return false;
  
  var dv = rut.charAt(rut.length - 1);
  var num = rut.substr(0, rut.length - 1);
  
  if (isNaN(num)) return false;
  
  num = parseInt(num);
  
  var suma = 0;
  var multiplo = 2;
  
  // Calculamos la suma ponderada
  for (var i = num.toString().length - 1; i >= 0; i--) {
    suma += parseInt(num.toString().charAt(i)) * multiplo;
    multiplo = multiplo === 7 ? 2 : multiplo + 1;
  }
  
  var resto = suma % 11;
  var verif = 11 - resto;
  
  if (verif == 11 && dv == '0') return true;
  if (verif == 10 && (dv == 'K')) return true;
  if (verif == parseInt(dv)) return true;
  
  return false;
}

Esta función personalizada valida un RUT chileno y devuelve true si es válido y false si no lo es.

Paso 3: Implementación de la Función en la Hoja de Cálculo

Ahora que hemos creado nuestra función personalizada, la implementaremos en nuestra hoja de cálculo. Cierra el Editor de Secuencias de Comandos y regresa a tu hoja de cálculo en Google Sheets.

Paso 4: Uso de la Función ValidarRUT en la Hoja de Cálculo

Una vez que estemos de vuelta en nuestra hoja de cálculo, podemos utilizar la función validarRUT en cualquier celda para validar un RUT chileno. Por ejemplo, en la celda B1, puedes escribir =validarRUT(A1), donde «A1» es la celda que contiene el RUT que deseas validar.

Conclusión

La validación de RUTs chilenos en Google Sheets puede ser crucial para garantizar la precisión de tus datos y cumplir con los requisitos legales. Con Google Apps Script, podemos implementar fácilmente una función personalizada para validar RUTs en nuestras hojas de cálculo. Sigue estos sencillos pasos y lleva tu gestión de datos al siguiente nivel con Google Sheets y Google Apps Script. ¡Asegúrate de que tus datos estén siempre actualizados y precisos con esta poderosa herramienta de validación!

¡Apoya mi página para que pueda seguir publicando más contenido interesante!
Tu donación es crucial para mantenerla activa y continuar compartiendo artículos de calidad.
¡Gracias por tu apoyo continuo!
Paypal

Comparte en redes
Sobre el administrador

Soy un ingeniero en conectividad y redes amante de la música y todo tipo de tecnologías.

Entradas similares