Formula en celda del RUT Chileno

juanpy

New Member
Joined
Aug 21, 2014
Messages
17
Estimados, buenas tardes a todos.

Compañeros de este, el mejor foro de Excel.

Necesito la formula para generar el digito verificador, del RUT Chileno:

Code:
Public Function Rut
Digito(ByVal Rut As Long) As String 
Dim Digito      As Integer
Dim Contador    As Integer    
Dim Multiplo    As Integer    
Dim Acumulador  As Integer   

Contador = 2    
Acumulador = 0    
While Rut <> 0
      Multiplo = (Rut Mod 10) * Contador
      Acumulador = Acumulador + Multiplo
      Rut = Rut \ 10
      Contador = Contador + 1
      If Contador > 7 Then
        Contador = 2
      End If
    Wend
    Digito = 11 - (Acumulador Mod 11)
    RutDigito = CStr(Digito) 
   If Digito = 10 Then RutDigito = "K" 
   If Digito = 11 Then RutDigito = "0" 
End Function
Code:
Se procede a tomar el número de RUT de derecha a izquierda, 
multiplicando cada dígito por los números que componen la serie
 numérica 2, 3, 4, 5, 6, y 7; y sumando el resultado de estos productos.
 Si se ha aplicado la serie hasta el final y quedan dígitos por multiplicar,
 se comienza la serie nuevamente: 7 × 2 = 14,
5 × 3 = 15,
9 × 4 = 36,
6 × 5 = 30,
8 × 6 = 48,
6 × 7 = 42,
0 × 2 = 0,
3 × 3 = 9,
entonces la suma de los productos es:
 14+15+36+30+48+42+0+9 = 194
- Al número obtenido por la suma del producto de cada dígito por la 
serie ya mencionada, se le aplica módulo 11, o sea, se divide por 11
 y se determina el resto de la división:
parte entera de (194 : 11) = 17
resto de la división entera: (194 - 11 * 17) = 7
- Ahora a 11 se le resta el resto calculado antes:
11 - 7 = 4
- Al resultado final, se le convierte a una letra o número, siguiendo estas reglas:
Si el resultado es 11, el dígito verificador será 0 (cero).Si el resultado es 10, el dígito verificador será K.En otro caso, el resultado será el propio dígito verificador.Como en el ejemplo el resultado de la resta es 4, el dígito verificador es 4.
LO IMPORTANTE ES QUE SEA DIRECTO EN UNA CELDA Y NO CON MACRO

La verdad es que no me manejo muy bien con las funciones de matrices o vectores, por eso es quie recurro a ustedes.

Muchas gracias
 

Some videos you may like

Excel Facts

Using Function Arguments with nested formulas
If writing INDEX in Func. Arguments, type MATCH(. Use the mouse to click inside MATCH in the formula bar. Dialog switches to MATCH.

shg

MrExcel MVP
Joined
May 7, 2008
Messages
21,746
Office Version
2010
Platform
Windows
Maybe ...

A​
B​
C​
1​
Number​
Check​
2​
05573392
9​
B2: =LOOKUP(11 - MOD(SUMPRODUCT({3,2,7,6,5,4,3,2}, --MID(A2, {1,2,3,4,5,6,7,8}, 1)), 11), {0,1,2,3,4,5,6,7,8,9,10,11}, {0,1,2,3,4,5,6,7,8,9,"K",0})
3​
30686957
4​
4​
47773014
0​
5​
31335538
1​
6​
72203442
2​
7​
54230844
3​
8​
69307881
4​
9​
23956735
5​
10​
56442906
6​
11​
35264654
7​
12​
31491288
8​
13​
35155951
9​
14​
99270764
K​
 

juanpy

New Member
Joined
Aug 21, 2014
Messages
17
Ok, es es la idea...

Pero no funciona, existe en la formula caracteres "---" "," que no son propios para formulas en celda.

Alguna otra sugerencia?
 

shg

MrExcel MVP
Joined
May 7, 2008
Messages
21,746
Office Version
2010
Platform
Windows
We have a language barrier.

Please post some examples of what you have and what you want.
 

marious

Board Regular
Joined
Mar 3, 2013
Messages
217
Please credit Mr. Shg, he is the master of this one. I am just here as translator and trying to validate his formula.

Mr Shg your formula works let me know if I can help you translating but based on your answer You hablas buen Espanol.

Agradezca a SHg por la creacion de esta complicada formula ya que esta funciona y produce el resultado deseado

La he separado en partes y las he pegado debajo de tus requisitos para que la entiendas mejor.

Juanpi creo que te refieres a que signo "--" doble negativo y veo que tu has escrito "---" 3 veces negativo, si ese es el caso estas convitiendo todos los numeros ennegativos. Doble negativo se usa para convertir texto en numero y si usas F9 para evaluar MID() te daras cuenta que efectivamente lo hace ya que las "0","5"... desaparecen.



LOOKUP(11 - MOD(SUMPRODUCT({3,2,7,6,5,4,3,2}, --MID(A3, {1,2,3,4,5,6,7,8}, 1)), 11), {0,1,2,3,4,5,6,7,8,9,10,11}, {0,1,2,3,4,5,6,7,8,9,"K",0})


entonces la suma de los productos es:
14+15+36+30+48+42+0+9 = 194


SUMPRODUCT({3,2,7,6,5,4,3,2}, --MID(A3, {1,2,3,4,5,6,7,8}, 1)
- Al número obtenido por la suma del producto de cada dígito por la
serie ya mencionada, se le aplica módulo 11, o sea, se divide por 11
y se determina el resto de la división:
parte entera de (194 : 11) = 17



resto de la división entera: (194 - 11 * 17) = 7


MOD(SUMPRODUCT({3,2,7,6,5,4,3,2}, --MID(A3, {1,2,3,4,5,6,7,8}, 1)), 11)

- Ahora a 11 se le resta el resto calculado antes:




11 - 7 = 4
- Al resultado final, se le convierte a una letra o número, siguiendo estas reglas:
Si el resultado es 11, el dígito verificador será 0 (cero).Si el resultado es 10, el dígito verificador será K.En otro caso, el resultado será el propio dígito verificador.Como en el ejemplo el resultado de la resta es 4, el dígito verificador es 4.
NOTES: Remember to format text in column A as TEXT if not formula will produce VALUE
Recuerde formatear los numerous d la columna A como texo sin obtendas VALUE y noe valor deseado


 
  • Like
Reactions: shg

marious

Board Regular
Joined
Mar 3, 2013
Messages
217
<html><head><title>Excel Jeanie HTML</title></head><body>
<!-- ######### Start Created Html Code To Copy ########## -->
Excel Workbook
ABCDEFG
1NumberCheckCHECK1Sumproduct
205573392997214
330686957445315
447773014009436
531335538116530
672203442228648
754230844336742
86930788144020
92395673555339
105644290666194194
113526465477
123149128888
133515595199
1499270764KK
Sheet1

?
?
<!-- ######### End Created Html Code To Copy ########## -->
</body></html>

 

juanpy

New Member
Joined
Aug 21, 2014
Messages
17


It is, but the formula does not serve, gives mistake

=LOOKUP(11 - MOD(SUMPRODUCT({3,2,7,6,5,4,3,2}, --MID(A2, {1,2,3,4,5,6,7,8}, 1)), 11), {0,1,2,3,4,5,6,7,8,9,10,11}, {0,1,2,3,4,5,6,7,8,9,"K",0})

[ , --MID ] -> Error​
<!-- attachments --><!-- / attachments -->
 
Last edited:

marious

Board Regular
Joined
Mar 3, 2013
Messages
217
Juanpi no ve la foto. Puedes descargar este Add-in software en tu ordenador?



Excel Jeanie Html

Jeanie es un software q convierte la informacion de las celdas seleccionadas en tu hoja de calculo en html para poder pegarla en el blog de mrexcel. Si te fijas la respuesta q te di antes esta creada con Jeanie. El soft. es gratis, lo único q tienes q hacer es una vez q selecciones lo que quieras poner en el blog es apretar el botón y luego usar CTRL+ C para copiar y CTRL+Y para pegar en el blog. Tendras q autorizar el clipboard en tu ordenador para q pegue la info del clipboard pulsando en el 3 boton arriba a la izq (clipboard) que esta en a barra de herramientas del editor del blog)
 
Last edited:

shg

MrExcel MVP
Joined
May 7, 2008
Messages
21,746
Office Version
2010
Platform
Windows
marious, thank you for jumping in.
 

juanpy

New Member
Joined
Aug 21, 2014
Messages
17
Estimados,

Se que todo tienen una disposicion de oro para ayudarme, se que son master de excel y se del prestigio de este sitio,
pero lamentablemente la formula no funciona.

Trabajo en un banco por lo que no puedo descargar nada para enviarles la imagen del error que me da.

Yo trabajo con macro vba con el Excel 2010.

Primero eran la "," las que reemplace por ";" =MED(A3;1;3).

La formula la instale en la celda C2 y el RUT: "11645430" en la celda A1, pero en vez de resolver "0", resuelve #¿NOMBRE?

Ese es mi problema.

Asi la escribir:

=LOOKUP(11 - MOD(SUMPRODUCT({3,2,7,6,5,4,3,2};--MID(A2; {1,2,3,4,5,6,7,8}; 1)); 11); {0,1,2,3,4,5,6,7,8,9,10,11}; {0,1,2,3,4,5,6,7,8,9,"K",0})

Mucha gracias por la excelente y profesional ayuda.

 

Watch MrExcel Video

Forum statistics

Threads
1,095,728
Messages
5,446,174
Members
405,389
Latest member
Excel n00b2

This Week's Hot Topics

Top