Vaya que valida de verda, pero creo que funciona
el NIT lo puse en la celda A2 y con sus guiones o sea en formato XXXX-XXXXXX-XXX-X
Como hacerlo todo junto salia demasiado largo lo dividi en 3 pasos:
Primer paso saber que camino usar:
En la celda B2 extraje los 3 numeros que estan antes del ultimo digito
=EXTRAE(A2,13,3)
Nada del otro mundo, luego en la celda C2 puse lo siguiente (que se usa si esos 3 numeros forman una cantidad mayor que 100)
=SI(ENTERO(B2)>100,RESIDUO((EXTRAE(A2,1,1)*((3+(6*REDONDEAR.MENOS((ABS((1+4)/6)),0)))-1)+EXTRAE(A2,2,1)*((3+(6*REDONDEAR.MENOS((ABS((2+4)/6)),0)))-2)+EXTRAE(A2,3,1)*((3+(6*REDONDEAR.MENOS((ABS((3+4)/6)),0)))-3)+EXTRAE(A2,4,1)*((3+(6*REDONDEAR.MENOS((ABS((4+4)/6)),0)))-4)+EXTRAE(A2,6,1)*((3+(6*REDONDEAR.MENOS((ABS((5+4)/6)),0)))-5)+EXTRAE(A2,7,1)*((3+(6*REDONDEAR.MENOS((ABS((6+4)/6)),0)))-6)+EXTRAE(A2,8,1)*((3+(6*REDONDEAR.MENOS((ABS((7+4)/6)),0)))-7)+EXTRAE(A2,9,1)*((3+(6*REDONDEAR.MENOS((ABS((8+4)/6)),0)))-8)+EXTRAE(A2,10,1)*((3+(6*REDONDEAR.MENOS((ABS((9+4)/6)),0)))-9)+EXTRAE(A2,11,1)*((3+(6*REDONDEAR.MENOS((ABS((10+4)/6)),0)))-10)+EXTRAE(A2,13,1)*((3+(6*REDONDEAR.MENOS((ABS((11+4)/6)),0)))-11)+EXTRAE(A2,14,1)*((3+(6*REDONDEAR.MENOS((ABS((12+4)/6)),0)))-12)+EXTRAE(A2,15,1)*((3+(6*REDONDEAR.MENOS((ABS((13+4)/6)),0)))-13)),11),0)
gran letania, en D2 se coloca una condicional y el resultado (en teoria) es el digito validador
=SI(ENTERO(C2)>1,11-C2,0)
En la C3 puse lo que se debe hacer si la catidad en B2 es menor o igual a 100
=SI(ENTERO(B2)<=100,RESIDUO((EXTRAE(A2,1,1)*14+EXTRAE(A2,2,1)*13+EXTRAE(A2,3,1)*12+EXTRAE(A2,4,1)*11+EXTRAE(A2,6,1)*10+EXTRAE(A2,7,1)*9+EXTRAE(A2,8,1)*8+EXTRAE(A2,9,1)*7+EXTRAE(A2,10,1)*6+EXTRAE(A2,11,1)*5+EXTRAE(A2,13,1)*4+EXTRAE(A2,14,1)*3+EXTRAE(A2,15,1)*2),11),0)
Y en D3 lo mismo solo para hacer unas comparaciones
=SI(ENTERO(C3)=10,0,C3)
Espero les sirva.
NOTA: eso si el proceso esta basado en el que puso TEKUN y ahi mismo dice que tiene excepciones, ose a que algunos NIT seguramente no van a pegar.