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:

PHP:
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

PHP:
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
 

Excel Facts

Which Excel functions can ignore hidden rows?
The SUBTOTAL and AGGREGATE functions ignore hidden rows. AGGREGATE can also exclude error cells and more.
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​
 
Upvote 0
Ok, es es la idea...

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

Alguna otra sugerencia?
 
Upvote 0
We have a language barrier.

Please post some examples of what you have and what you want.
 
Upvote 0
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
Upvote 0
<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>

 
Upvote 0


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:
Upvote 0
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:
Upvote 0
marious, thank you for jumping in.
 
Upvote 0
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.

 
Upvote 0

Forum statistics

Threads
1,213,511
Messages
6,114,054
Members
448,543
Latest member
MartinLarkin

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top