Volver al blog
Tutorial

Calcular Dígito Verificador del RUT en Google Sheets: Tutorial Completo

8 min de lectura
Google Sheets
RUT
fórmulas
tutorial
dígito verificador

Calcular Dígito Verificador del RUT en Google Sheets: Tutorial Completo

La ventaja de Google Sheets para cálculos de RUT

Google Sheets ofrece ventajas únicas para trabajar con RUTs chilenos: es gratuito, accesible desde cualquier dispositivo, permite colaboración en tiempo real y se actualiza automáticamente. Si tu equipo necesita validar RUTs frecuentemente, implementar estas fórmulas en Sheets puede transformar tu flujo de trabajo.

Además, al estar en la nube, puedes crear una hoja maestra compartida donde todos tengan acceso a las mismas herramientas de validación, garantizando consistencia en toda tu organización.

Comprensión rápida del algoritmo módulo 11

El algoritmo para calcular el dígito verificador del RUT sigue estos pasos:

  • Multiplicar cada dígito del RUT (de derecha a izquierda) por: 2, 3, 4, 5, 6, 7, y repetir
  • Sumar todos los productos
  • Dividir por 11 y obtener el resto
  • Restar: 11 - resto
  • Si resulta 11 → dígito es 0; si resulta 10 → dígito es K

Fórmula maestra para Google Sheets

La fórmula completa (celda A1 contiene el RUT sin DV):

Google Sheets
=SI(11-MOD(SUMAPRODUCTO(ARRAYFORMULA(VALOR(MID(TEXTO(A1,"00000000"),{1;2;3;4;5;6;7;8},1))),{3;2;7;6;5;4;3;2}),11)=11,0,SI(11-MOD(SUMAPRODUCTO(ARRAYFORMULA(VALOR(MID(TEXTO(A1,"00000000"),{1;2;3;4;5;6;7;8},1))),{3;2;7;6;5;4;3;2}),11)=10,"K",11-MOD(SUMAPRODUCTO(ARRAYFORMULA(VALOR(MID(TEXTO(A1,"00000000"),{1;2;3;4;5;6;7;8},1))),{3;2;7;6;5;4;3;2}),11)))

Desglose de la fórmula:

  • TEXTO(A1,"00000000"): Formatea el RUT con 8 dígitos
  • MID(...,{1;2;3;4;5;6;7;8},1): Extrae cada dígito
  • ARRAYFORMULA(VALOR(...)): Convierte caracteres a números
  • SUMAPRODUCTO: Multiplica y suma en una operación
  • MOD(...,11): Obtiene el resto de dividir por 11
  • SI anidados: Maneja casos especiales (0 y K)

Implementación paso a paso visual

Para quienes prefieren ver el proceso completo, aquí está el método con columnas auxiliares:

Configuración de la hoja:

  • Columna A: RUT sin dígito verificador
  • Columnas B-I: Cada dígito extraído
  • Columna J: Factores multiplicadores
  • Columna K: Productos
  • Columna L: Suma total
  • Columna M: Dígito verificador calculado

Fórmulas detalladas:

Extraer dígitos (B1:I1):

  • B1: =VALOR(MID(TEXTO($A1,"00000000"),1,1))
  • C1: =VALOR(MID(TEXTO($A1,"00000000"),2,1))
  • (continuar hasta I1)

Factores en fila auxiliar:

  • J1:J8: {3;2;7;6;5;4;3;2}

Productos (K1:K8):

  • K1: =B1*J1
  • K2: =C1*J2
  • (continuar)

Suma total (L1):

  • =SUMA(K1:K8)

Dígito verificador (M1):

  • =SI(11-MOD(L1,11)=11,0,SI(11-MOD(L1,11)=10,"K",11-MOD(L1,11)))

Función personalizada con Google Apps Script

Para máxima elegancia y reutilización, crea una función personalizada:

Código Apps Script:

JavaScript
1function DIGITO_VERIFICADOR(rut) {
2  // Validar entrada
3  if (!rut || rut === "") return "ERROR";
4  
5  // Convertir a string y limpiar
6  let rutStr = String(rut).replace(/[.-]/g, '');
7  
8  // Asegurar 8 dígitos
9  rutStr = rutStr.padStart(8, '0');
10  
11  // Calcular suma ponderada
12  let suma = 0;
13  let multiplicador = 2;
14  
15  for (let i = rutStr.length - 1; i >= 0; i--) {
16    suma += parseInt(rutStr[i]) * multiplicador;
17    multiplicador = multiplicador === 7 ? 2 : multiplicador + 1;
18  }
19  
20  // Calcular dígito
21  const resto = suma % 11;
22  const digito = 11 - resto;
23  
24  // Casos especiales
25  if (digito === 11) return "0";
26  if (digito === 10) return "K";
27  return String(digito);
28}
29
30// Función adicional para validar RUT completo
31function VALIDAR_RUT(rutCompleto) {
32  if (!rutCompleto) return false;
33  
34  // Limpiar formato
35  const rutLimpio = String(rutCompleto).replace(/[.-]/g, '');
36  
37  // Separar número y dígito verificador
38  const numero = rutLimpio.slice(0, -1);
39  const dvIngresado = rutLimpio.slice(-1).toUpperCase();
40  
41  // Calcular dígito esperado
42  const dvCalculado = DIGITO_VERIFICADOR(numero);
43  
44  // Comparar
45  return dvIngresado === dvCalculado;
46}

Cómo implementar en Google Sheets:

  • Abre tu hoja de Google Sheets
  • Ve a Extensiones → Apps Script
  • Borra el código por defecto
  • Pega el código anterior
  • Guarda (Ctrl+S) con nombre "FuncionesRUT"
  • Cierra el editor
  • Usa en tu hoja: =DIGITO_VERIFICADOR(A1)

Validador completo con formato elegante

Crea un validador profesional que maneje cualquier formato de entrada:

Google Sheets
=SI(ESNUMERO(ENCONTRAR(SI(11-MOD(SUMAPRODUCTO(ARRAYFORMULA(VALOR(MID(TEXTO(VALOR(IZQUIERDA(SUSTITUIR(SUSTITUIR(A1,".",""),"-",""),SI(LARGO(SUSTITUIR(SUSTITUIR(A1,".",""),"-",""))>9,LARGO(SUSTITUIR(SUSTITUIR(A1,".",""),"-",""))-1,8))),"00000000"),{1;2;3;4;5;6;7;8},1))),{3;2;7;6;5;4;3;2}),11)=11,"0",SI(11-MOD(SUMAPRODUCTO(ARRAYFORMULA(VALOR(MID(TEXTO(VALOR(IZQUIERDA(SUSTITUIR(SUSTITUIR(A1,".",""),"-",""),SI(LARGO(SUSTITUIR(SUSTITUIR(A1,".",""),"-",""))>9,LARGO(SUSTITUIR(SUSTITUIR(A1,".",""),"-",""))-1,8))),"00000000"),{1;2;3;4;5;6;7;8},1))),{3;2;7;6;5;4;3;2}),11)=10,"K",11-MOD(SUMAPRODUCTO(ARRAYFORMULA(VALOR(MID(TEXTO(VALOR(IZQUIERDA(SUSTITUIR(SUSTITUIR(A1,".",""),"-",""),SI(LARGO(SUSTITUIR(SUSTITUIR(A1,".",""),"-",""))>9,LARGO(SUSTITUIR(SUSTITUIR(A1,".",""),"-",""))-1,8))),"00000000"),{1;2;3;4;5;6;7;8},1))),{3;2;7;6;5;4;3;2}),11))),DERECHA(SUSTITUIR(SUSTITUIR(A1,".",""),"-",""),1))),"✓ RUT VÁLIDO","✗ RUT INVÁLIDO")

Plantilla interactiva lista para usar

Diseño sugerido para tu hoja:

Hoja "Calculadora RUT":

CeldaContenidoFormato/Fórmula
A1"CALCULADORA DE RUT"Título, negrita, tamaño 18
A3"Ingrese RUT sin DV:"Etiqueta
B3(entrada usuario)Borde, fondo amarillo claro
A4"Dígito Verificador:"Etiqueta
B4=DIGITO_VERIFICADOR(B3)Borde, fondo verde claro
A5"RUT Completo:"Etiqueta
B5=TEXTO(B3,"#,##0")&"-"&B4Borde, negrita

Hoja "Validador Masivo":

Columna AColumna BColumna C
RUT CompletoVálido/InválidoDígito Correcto
12.345.678-5=VALIDAR_RUT(A2)=DIGITO_VERIFICADOR(VALOR(IZQUIERDA(SUSTITUIR(SUSTITUIR(A2,".",""),"-",""),8)))

Características avanzadas de Google Sheets

1. Validación de datos en tiempo real:

Configura validación personalizada:

  • Selecciona el rango de celdas
  • Datos → Validación de datos
  • Criterio: "Fórmula personalizada"
  • Fórmula: =VALIDAR_RUT(A1)
  • Mensaje de error personalizado

2. Formato condicional inteligente:

Resalta RUTs válidos/inválidos automáticamente:

  • Selecciona el rango
  • Formato → Formato condicional
  • Condición: "Fórmula personalizada"
  • Fórmula: =VALIDAR_RUT($A1)
  • Formato: fondo verde para válidos

3. Importación desde otras fuentes:

Google Sheets
=ARRAYFORMULA(SI(A2:A="","",DIGITO_VERIFICADOR(A2:A)))

Esta fórmula calcula el DV para toda una columna automáticamente.

Integración con formularios Google

Crear un formulario validador:

  • Google Forms: Crea formulario solicitando RUT
  • Respuestas en Sheets: Vincula a una hoja
  • Validación automática: Agrega columna con fórmula validadora
  • Notificaciones: Configura alertas para RUTs inválidos

Script para validación en formulario:

JavaScript
1function onFormSubmit(e) {
2  const rut = e.values[1]; // Asumiendo RUT en segunda columna
3  const esValido = VALIDAR_RUT(rut);
4  
5  if (!esValido) {
6    // Enviar email de alerta
7    MailApp.sendEmail({
8      to: "[email protected]",
9      subject: "RUT Inválido en Formulario",
10      body: `Se recibió un RUT inválido: ${rut}`
11    });
12  }
13}

Casos de uso empresariales

1. Base de datos de clientes:

  • Validación automática al ingresar datos
  • Alertas para RUTs duplicados
  • Formato consistente

2. Nómina de empleados:

  • Verificación antes de contratos
  • Generación de reportes con RUTs válidos
  • Integración con sistemas de RRHH

3. Facturación electrónica:

  • Validación previa al SII
  • Corrección automática de formato
  • Historial de validaciones

Optimización y rendimiento

Para grandes volúmenes de datos:

  • Usa ARRAYFORMULA: Procesa rangos completos
  • Limita recálculos: Configura actualización manual
  • Divide en bloques: Procesa de 1000 en 1000

Fórmula optimizada para miles de RUTs:

Google Sheets
1=ARRAYFORMULA(
2  SI(ESNUMERO(A2:A),
3    SI(11-MOD(SUMAPRODUCTO(
4      VALOR(MID(TEXTO(A2:A,"00000000"),{1;2;3;4;5;6;7;8},1)),
5      {3;2;7;6;5;4;3;2}
6    ),11)=11,0,
7    SI(11-MOD(SUMAPRODUCTO(
8      VALOR(MID(TEXTO(A2:A,"00000000"),{1;2;3;4;5;6;7;8},1)),
9      {3;2;7;6;5;4;3;2}
10    ),11)=10,"K",
11    11-MOD(SUMAPRODUCTO(
12      VALOR(MID(TEXTO(A2:A,"00000000"),{1;2;3;4;5;6;7;8},1)),
13      {3;2;7;6;5;4;3;2}
14    ),11))),
15  "")
16)

Compartir y colaborar

Mejores prácticas:

  • Protege las fórmulas: Bloquea celdas con fórmulas
  • Crea instrucciones: Agrega hoja con manual de uso
  • Versiona cambios: Usa el historial de versiones
  • Permisos granulares: Solo edición en celdas de entrada

Plantilla pública:

Puedes crear una copia de plantilla maestra y compartirla con:

  • Vista pública para consulta
  • Copia permitida para uso personal
  • Sin acceso a datos sensibles

Solución de problemas frecuentes

Error #¡VALOR!:

  • Verifica que no haya letras en el RUT (excepto K final)
  • Elimina espacios con =ESPACIOS(A1)

Resultado incorrecto:

  • Confirma que el RUT tenga 7-8 dígitos
  • Usa =LARGO(A1) para verificar

Fórmula no actualiza:

  • Archivo → Configuración → Cálculo → "Al cambiar"

Lentitud con muchos datos:

  • Considera usar Apps Script para procesamiento batch

Conclusión

Google Sheets transforma el cálculo del dígito verificador del RUT en un proceso colaborativo y accesible. Con las fórmulas y scripts presentados, puedes crear soluciones robustas que escalen desde validaciones individuales hasta procesamiento masivo de datos.

La ventaja de trabajar en la nube significa que tus validaciones están siempre actualizadas y accesibles, eliminando errores de versiones y garantizando que todo tu equipo trabaje con las mismas herramientas validadas.

---

Recursos y referencias

  • Google Workspace Learning Center: Documentación oficial de Sheets
  • Apps Script Documentation: Para funciones personalizadas avanzadas
  • Comunidad Google Sheets Chile: Foros de usuarios chilenos

Sobre el autor

BM

Benjamín Maturana

Analista de Datos

Experto en Excel y automatización de procesos. Cree firmemente que todo problema tiene una solución en una hoja de cálculo.