FUNCIO DV (Digito Verificador) EL METODO MAS CORTO!!

Aporta funciones y cálculos Excel de interés para la comunidad.

Reglas del Foro
Este foro no es para hacer preguntas!
Este foro solo es para que aportes algo de interés para la comunidad.
(para preguntas vuelve al índice y busca los foros de "Tus Preguntas a la Comunidad")
Compartir en:
     

FUNCIO DV (Digito Verificador) EL METODO MAS CORTO!!

Notapor fbaxter » 17 Ago 2011 14:32

Hola nuevamente estoy aqui, les incluyo el código que inventé para determinar el digito verificador y quisiera plantear el siguiente desafío... ¿Alguien puede hacer un método mas corto que este?

Function DV(RUT As String)

For X = Len(RUT) To 1 Step -1
S = S + Mid(RUT, X, 1) * Mid("32765432", X, 1)
Next

DV = Mid("123456789K0", Round(11 - (S / 11 - Int(S / 11)) * 11, 0), 1)

End Function


El archivo para que lo comprueben y el metodo esta aqui --->
Digito Verificador.xls
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
fbaxter
Miembro Frecuente
Miembro Frecuente
 
Registrado: 10 May 2011 19:47

Re: FUNCIO DV (Digito Verificador) EL METODO MAS CORTO!!

Notapor fbaxter » 18 Ago 2011 09:43

Acabo de haber superado mi propio record
Function DV(RUT As String)

For X = Len(RUT) To 1 Step -1
S = S + Mid(RUT, X, 1) * Mid("32765432", X, 1)
Next

DV = Mid("0K987654321", Round(S Mod 11, 0) + 1, 1)

End Function


Que aburrido no?.... Pero bueno en algo hay que entretenerso no?


Digito Verificador.xls
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
fbaxter
Miembro Frecuente
Miembro Frecuente
 
Registrado: 10 May 2011 19:47

Re: FUNCIO DV (Digito Verificador) EL METODO MAS CORTO!!

Notapor fbaxter » 18 Ago 2011 10:36

Encontre un metodo mas corto aun... bueno... hay que matar el aburrimiento de algun modo no?

Function DV(RUT As String)

For X = Len(RUT) To 1 Step -1
S = S + Mid(RUT, X, 1) * Mid("32765432", X, 1)
Next

DV = Mid("0K987654321", Round(S Mod 11, 0) + 1, 1)

End Function


Aqui esta el archivo
Digito Verificador.xls
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
fbaxter
Miembro Frecuente
Miembro Frecuente
 
Registrado: 10 May 2011 19:47


Compartir en:
     

  • Anuncio
Manual Excel avanzado

Volver a Funciones, fórmulas y cálculos

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado