Validar RUT sin macros en Excel


La siguiente guía muestra la forma de validar RUT sin macros en Excel. Esto quiere decir que sólo con fórmulas de Excel sabremos si el RUT ingresado es válido o podremos obtener el dígito verificador de un RUT.

Pasos para validar RUT

Primero crearemos 2 hojas, una para el ingreso del RUT y la obtención de resultados y la otra para los cálculos.

Ahora en la hoja verificar RUT pondremos una celda donde ingresaremos el RUT a verificar.

Teniendo la celda a la cual aplicaremos las fórmulas, ahora vamos a la hoja Calculos.

Los cálculos

En la hoja cálculos lo primero que haremos será obtener el RUT sin DV (dígito verificador). Para eso aplicaremos la siguiente fórmula.

=IZQUIERDA('Verificar RUT'!C4;SI(LARGO('Verificar RUT'!C4)=9;7;8))

Para explicar esto, debo comenzar por la fórmula que está dentro de la principal.

SI(LARGO('Verificar RUT'!C4)=9;7;8)

Acá consultamos el largo de la celda donde se ingresa el RUT. Si el largo es igual a 9, entonces se aplicará el número 7 a la fórmula principal, si no, se aplicará el 8.

Sabiendo lo anterior, veremos que la fórmula principal lo que hace es obtener X dígitos de izquierda a derecha. Dependiendo del largo (la fórmula interna) se obtendrán 7 u 8 dígitos (de izquierda a derecha).

El resultado para el ejemplo que hago en esta guía es el siguiente.

Tenemos el RUT sin DV. Ahora debemos hacer que tenga 8 dígitos para aplicar una fórmula fija a los RUT de 7 y 8 dígitos. Para eso le agregaremos un 0 de la siguiente forma.

=SI(LARGO(D2)=8;D2;CONCATENAR(0;D2))

Si el largo de la celda anterior es 8, se deja ese resultado, si no, se agrega un 0 al inicio. El resultado se verá así.

Ya tenemos un RUT con el cual trabajar. Ahora aplicaremos la fórmula que utiliza el SII la cual podemos obtener de ESTE ENLACE.

Voy a extraer cada dígito del RUT para poder aplicar los cálculos según la fórmula de SII de la siguiente forma.

=EXTRAE($D$3;8;1)

Vamos a extraer de la celda D3 (RUT SIN DV en la imagen) desde el dígito 8, 1 dígito. Así con los demás dígito cambiando sólo el 8 por 7, 6, 5, 4, 3, 2, 1.

Teniendo los dígitos del RUT separados y de forma inversa, ahora aplicaremos los cálculos con la serie numérica 2, 3, 4, 5, 6, y 7.

=E4*2

Con esto multiplicamos cada dígito en orden por la serie numérica descrita antes. El resultado es el siguiente.

En este ejemplo el cálculo sería: 7*2=14, 6*3=18, etc. Al llegar a 7 se comienza nuevamente con 2.

Ahora debemos sumar los resultados y nos dará 106. Pueden utilizar autosuma.

Lo siguiente es dividir por 11 (módulo 11 que aplica SII) y nos dará un resultado probablemente con decimales.

Para evitar los decimales aplicaremos la fórmula como entero de la siguiente forma.

=ENTERO(F12/11)

Obteniendo lo siguiente.


Ahora aplicamos la fórmula de TOTAL – (11 * modulo11) y nos dará un dígito. Esto lo haremos con la siguiente fórmula.

=F12-(11*F13)

Ahora a 11 le restaremos el número que obtuvimos antes y nos dará como resultado el dígito verificador.

=SI(ENTERO(11-F14)=10;"K";SI(ENTERO(11-F14)=11;"0";ENTERO(11-F14)))

 

La fórmula reemplazará el resultado si obtenemos 10 a K y si obtenemos 11 a 0.

En la imagen anterior, además de calcular el dígito verificador real del RUT, aparece el DV ingresado en la hoja verificar RUT. Esto lo conseguimos de la siguiente forma.

=ENTERO(DERECHA('Verificar RUT'!C4;1))

Con esto obtenemos el primer dígito de derecha a izquierda.

Lo último que haremos será comprobar si la persona ingreso un RUT con o sin DV. Para eso utilizamos esta fórmula.

=SI.ERROR(ENCONTRAR("-";'Verificar RUT'!C4);"SIN DV")

Lo que hace es ver si la celda “Verificar RUT’!C4” tiene el signo “-“, si lo tiene dará como resultado la posición del guión en el RUT. Si no, dará como resultado el texto “SIN DV”.

Ahora volvemos a la hoja Verificar RUT y agregamos una celda de resultado con el siguiente código.

=SI(Calculos!D19="SIN DV";CONCATENAR("DV = ";Calculos!F15);SI(Calculos!D15=Calculos!F15;"RUT VALIDO";"RUT INVALIDO"))

La explicación es la sigiuente: si la celda “Calculos!D19” contiene la frase “SIN DV”, entonces va a concatenar o unir el texto DV = y el resultado de la celda “Calculos!F15”.  Si no aparece ese texto, entonces hará lo siguiente: Si la celda “Calculos!D15” (la que contiene el DV que ingresaron en Ingrese su RUT) es igual a la celda “Calculos!F15” (digito verificador real), entonces mostrará un mensaje de RUT VALIDO, si no, mostrará RUT INVALIDO.

Ejemplos de resultados:

Espero les sea de utilidad.

Pueden descargar el excel de ejemplo DE AQUÍ.