generar un código alfanumérico aleatorio con Excel

43 envíos / 0 nuevos
Último envío
aquijano
Imagen de aquijano
Offline
última acción: Hace 11 años 7 meses
Nivel 1 - 200 puntosNivel 2 - 500 puntos
alta: 20/07/2008 - 13:32
Puntos: 955
generar un código alfanumérico aleatorio con Excel

Hola amigos

 

Me gustaría preguntarles si alguno conoce la manera de generar un código alfanumerico aleatorio con alguna función de Excel.

Necesitaría generar un código de 9 caracteres, números o letras, para utilizarlo como identificador único, como contraseña.

 

les agradezco su ayuda.

 

AQ

juanmanuel
Imagen de juanmanuel
Offline
última acción: Hace 9 años 6 meses
Nivel 1 - 200 puntosNivel 2 - 500 puntos
alta: 15/05/2007 - 19:25
Puntos: 694
funcion CARACTER

Excel tiene la función CARACTER que proporciona un carácter a partir de su código ASCII

aquí dejo un ejemplo de un código de 9 caracteres generados aleatoriamente.

utilizo la función ALEATORIO.ENTRE para generar el número aleatorio que luego utilizará la función CARACTER. esto lo repito nueve veces como argumentos de la función CONCATENAR para formar la cadena de texto completa.

 

---- Sólo sé que no sé nada. :)

AdjuntoTamaño
Office spreadsheet icon CodigoAleatorio.xls14 KB

---- Sólo sé que no sé nada. :)

visitante (no verificado)
Imagen de visitante
Re: funcion CARACTER

Hola:

Uf, eres un crack amigo mío. Tengo un problema para desarrollar y necesito ayuda.

sabrias hacer en excell un código alfanumério de 20 dígitos que no se repitiese nunca? es decir crear una base de datos de códigos que no estén repetidos para la identificación de un producto? mi email es diego@cadtelecom.net, si me puedes ayudar te lo agradecería para toda la vida

pacomegia
Imagen de pacomegia
Offline
última acción: Hace 2 horas 43 mins
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntosadministrador
alta: 27/12/2006 - 23:26
Puntos: 11175
Re: funcion CARACTER

Para los identificadores yo utilizo una numeración correlativa, ya sabes, 1, 2, 3, etc, que identifica unívocamente cada artículo.

Aunque supongo que a lo que te refieres es a algo que dé un aspecto más misterioso hdsjfgksldfger756s5ñ.

Creo que no debes emplear un generador aleatorio, lo que tienes que usar es algún tipo de algoritmo de cifrado que convierta un identificador, por ejemplo en 1, el 2, en esa cadena cifrada que necesitas. Esto lo puedes complicar todo lo que quieras, desde utilizar una simple conversión basada en los códigos ascii de los caracteres, hasta sofisticados sistemas criptográficos, depende de lo oculto e indescifrable que necesites tus códigos. Aquí tienes algunas ideas más.

 

------
Ya sé Excel, pero necesito más.

visitante (no verificado)
Imagen de visitante
Re: funcion CARACTER

Muy buena la solución, me puede decir si al elegir un rango estimado en 1000.000 de números a generar de forma aleatorio existe probabilidad de repetición?

 

 

pacomegia
Imagen de pacomegia
Offline
última acción: Hace 2 horas 43 mins
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntosadministrador
alta: 27/12/2006 - 23:26
Puntos: 11175
Re: funcion CARACTER

y con muchos menos. No debes emplear una generación aleatoria para crear números (o códigos) únicos.

te pongo un ejemplo:

imagina que elijo un número entre 1 y 100 como una lotería con 100 bolas. (digamos que sale el 7)

Si ahora vuelvo a introducir la bola en el bombo y elijo otro número entre el 1 y el 100, la probabilidad de que salga el 7 es de un 1%

Si lo repito muchas veces y si ya he sacado 99 números diferentes, la probabilidad de que aparezca un número no repetido es ahora del 1%, y tengo un 99% de probabilidad de que se repita alguno de los números que ya salieron antes.

 

En cualquier caso, el ordenador opera muy deprisa, y puede que sea más rápido generar números aleatorios y comprobar si ha salido antes, que crear algoritmos más complicados o comprobaciones adicionales. todo es cuestión de probar qué tiene mejor rendimiento.

------
Ya sé Excel, pero necesito más ahora en pdf

 

------
Ya sé Excel, pero necesito más.

kali
Imagen de kali
Offline
última acción: Hace 13 años 7 meses
alta: 11/08/2010 - 00:34
Puntos: 10
Re: funcion CARACTER

Hola pacomejia, llevo un año intentendo esto:

He aqui, tengo una coleccion de codigos alfanumericos que son resultado de un algoritmo de cifrado, cada codigo es una llave, y supongo que para generar mas codigos tengo que saber el funcionamiento del algoritmo de cifrado,el problema es que es privado, mi pregunta es que si estando afuera del codigo se puede descifrar tomando en cuenta varios aspectos, por ejemplo hay codigos que no tienen numero,no se encuentran los 10 digitos ni todas las letras, la longitud es constante, los numeros no se repiten, etc.

para dar una mejor idea, este caso es parecido al sistema que usan las empresas de celulares cuando venden la tarjeta con el codigo para ser ingresada y obtener el saldo,repito esto solo es un ejemplo y mi caso no es tan compicado como el que mencione ya que como usted dice, la solucion podria ser una simple conversion basada en los codigos ascii de los caracteres y no creo que tenga los sistemas criptograficos, ya que para mi problema, minimamente deberia de haber 5 millones de codigos en solo 10 digitos,espero su respuesta porque talves estoy tomando un camino equivocado este es mi msn es

mijail_kalashnikov@hotmail.com
 

pacomegia
Imagen de pacomegia
Offline
última acción: Hace 2 horas 43 mins
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntosadministrador
alta: 27/12/2006 - 23:26
Puntos: 11175
Re: funcion CARACTER

Se supone que todos los algoritmos de cifrado pretenden que no se puedan descifrar, al menos tratan de que no se pueda descifrar con poco esfuerzo, porque si se pueden descifrar no valen de nada.

cuanto más complejo sea ese algoritmo más se tarda en descifrar. en esto hay departamentos en universidades trabajando en la investigación de este tema para vulnerar los sistemas en aras de conseguir un sistema cada vez más seguro, http://jc-info.blogspot.com/2010/01/algoritmo-descifrar-protocolo-gsm.html

tampoco es lo mismo tratar de descifrar un único código, que conseguir un sistema para descifrar cualquier código
(no es lo mismo abrir una cerradura, que tener una llave maestra que abra cualquier cerradura)

cuantos más datos se conozcan del algoritmo de cifrado, o más ejemplos se tengan, más sencillo será desencriptar.

los jeroglíficos egipcios sólo se pudieron descifrar cuando se encontró la piedra rosetta http://es.wikipedia.org/wiki/Piedra_de_Rosetta

 


 

------
Ya sé Excel, pero necesito más.

visitante (no verificado)
Imagen de visitante
Re: funcion CARACTER
Este comentario ha sido movido aquí.
visitante (no verificado)
Imagen de visitante
Re: funcion CARACTER

Gracias, mer sirvión un monton...

visitante (no verificado)
Imagen de visitante
Re: funcion CARACTERdesencriptar llave.

  Paco. he estado lellendo tus recomendaciones y creo que eres la persona que me puedes resolver una incognita.  de un listado de numeros de ocho cifras donde el noveno es un codigo de seguridad, como obtengo los siguientes codigos de seguridad. ejemplos.     18615570-4,  20637037-8,  26312103-9,  00806167-3,  13437570-0,  00007087-0,  18615307-8,  15183667-3,  00005947-8,  19343471-3 .   Te agradeceria si me indicas que metodo usar, ya que he probado con varios algoritmos que he encontrado en Internet y lo mas que he encontrado son 4 coincidencias,  por lo que  te  pido me ayudes. mi correo es J_alberto8a@hotmail.com                  

Cron
Imagen de Cron
Offline
última acción: Hace 8 meses 1 día
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntos
alta: 23/06/2010 - 12:30
Puntos: 12735
Re: funcion CARACTERdesencriptar llave.

Entiendo que el código de seguridad sale de operar de alguna manera con las cifras anteriores. Algo así como la letra del DNI o el dígito de control de las cuentas bancarias.

 

En ese caso, un número finito de resultados tendrá un número infinito de soluciones. Debes conocer el algoritmo que genera el código para poder implementarlo. Cualquier otra cosa entiendo que no es manejo de Excel, sino rotura de claves, y es algo más complicado a primera vista.

 

 

Saludos

pacomegia
Imagen de pacomegia
Offline
última acción: Hace 2 horas 43 mins
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntosadministrador
alta: 27/12/2006 - 23:26
Puntos: 11175
Re: funcion CARACTERdesencriptar llave.

Efectivamente J_alberto8a,  como dice Cron puede haber infinitas soluciones, desde una suma de caracteres, a una operación con el número completo, pasando por una operación con cada una de las cifras que forman el número, o incluso un listado de valores en los que se emparejan números y claves asociadas.; o incluso una mezcla de todas ellas.

Ya sabes que una de las cosas más valiosas en una guerra es conocer el método de cifrado del enemigo http://es.wikipedia.org/wiki/Enigma_(m%C3%A1quina)

 

Imagino que tu caso será más simple que todo esto.Indeciso

 

Igual es más fácil preguntarle a quien genera estos códigos.

 

Esto tiene bastante de Pasatiempo. Voy a probar algunos casos comunes, incluso trataré de hacer un modelo con Solver, pero aunque encajemos estos datos que nos das de ejemplo, habría que probarlo con muchos más datos.

ya os contaré...

 

------
Ya sé Excel, pero necesito más.

visitante (no verificado)
Imagen de visitante
Re: funcion CARACTER

Hola Paco, quería solicitar tu ayuda para una cuestión relacionada con la generación de claves alfanuméricas con excel.

Tengo varios libros excel creados, cada uno con los alumnos de una clase (25). quisiera generar clves alfanuméricas en cada grupo de alumnos. Mi pregunta es si la función creada podría crear dos claves iguales, cosa que deseo evitar.

He genrado la clave según indicaciones de este foro, sólo cque con ocho caracteres y desechando los símbolos.

Gracias de antemano y saludo

Pericles

pacomegia
Imagen de pacomegia
Offline
última acción: Hace 2 horas 43 mins
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntosadministrador
alta: 27/12/2006 - 23:26
Puntos: 11175
valores únicos

Hola Pericles:

las funciones que generan aleatorios sí pueden generar duplicados, mira este comentario

así que para generar códigos únicos no emplees aleatorios.

Utiliza como base algo que sea único, por ejemplo el nombre de la clase (A,B,C,..) el número de orden del alumno (1,2,3)

Depende de la conversión que quieras hacer con esto para "ocultarlo" en tu código, ahí es donde debes tener cuidado para que no pueda haber duplicados.

Es más una cuestión de elegir un criterio para ver cómo se generará el código.

 

 

 

------
Ya sé Excel, pero necesito más.

visitante (no verificado)
Imagen de visitante
Re: valores únicos

Hola Pacomejia, primeramente agradecerte tu rápida respuesta. ¿Me podrías indicar cómo tendría que ser la fómula para generar por ejemplo en los 25 alumnos de una clase de 3ºA de Primaria una clave alfanumeríca parecida a esta: El inicio sería P3A para todos y luego una combinación de 6 caracteres? Esto lo podría alicar al resto de las clases cambiando los tres primeros caracteres. Tengo 27 clases diferentes en el colegio y cada una con 25 alumnos, y quiero asignar a cada uno una cla diferente.

Gracias, por dedicarnos tu tiempo y tu ayuda.

Pericles

pacomegia
Imagen de pacomegia
Offline
última acción: Hace 2 horas 43 mins
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntosadministrador
alta: 27/12/2006 - 23:26
Puntos: 11175
Re: valores únicos

antes de contestar, un inciso: si creas una cuenta de usuario, tus comentarios se publican en el acto, no se quedan pendientes de aprobación, además, también recibirás un email cuando alguien conteste en un tema en el que participas.

 

Hay muchas soluciones para lo que propones

la más fácil

P3Axxxxx1 ... P3Axxxx25

 

como el alfabeto tiene más de 25 letras, podías hacer que el 1 fuese la A y el 25 la Y

la A es el caracter ascii 65, la "a" es el 97, la z es el 122 (entre mayúsculas y minúsculas tenemos 58 letras)

con la función CARACTER puedes conseguir esto

=CARACTER(64 + tunumero)

 

La verdad es que esto queda muy poco glamuroso; entiendo que te interesa algo que quede más misterioso.

Tendrás que complicarlo un poco, algunas ideas:

Realiza alguna operación sobre el número de lista, por ejemplo haz la raíz cúbica (así seguro que tienes un montón de decimales), multiplica por un número si quieres, para despistar un oco más y toma la parte entera. esto es una función del número de lista, así que sigue siendo números únicos.

=ENTERO(inventateunnumero*numerodelista^(1/3))

 

puedes emplear la función TEXTO para convertir tu número en un texto, por ejemplo, para 6 cifras:

=TEXTO(elnúmerodeantes;"000000")

y puedes emplear la función EXTRAE para extraer el caracter que está en una determinada posición, por ejemplo, el segundo carácter será:

=EXTRAE(eltextodeantes;2;1)

 

No sé, son algunas ideas, puedes inventarte al algoritmo todo lo complicado que quieras

 

 

 

------
Ya sé Excel, pero necesito más.

Pericles
Imagen de Pericles
Offline
última acción: Hace 9 años 6 meses
alta: 14/11/2012 - 09:57
Puntos: 45
Re: valores únicos

Mi idea es algo no sé si más sencillo por ejemplo: P3AWRTEX

Tres primeros caracteres: P3A Estos serían fijos para todos los alumnos de la misma aula.

WRTEX Estos cinco caracteres serían los que deberían de cambiar. Incluso en lugar de alguna letra podría poner algún número.

Ya he creado una cuenta. Gracias por tu inestimable ayuda.

Pericles

visitante (no verificado)
Imagen de visitante
Re: valores únicos

Cuando me refiero a esos cinco caracteres no quiero decir que tengan que ser esos, sino cinco caracteres diferentes aleatorios de entre todas las letras mayísculas junto a las tres primeras y todo ello en la misma celda.

Era por aclarar un poco la cuestión. espero ayuda con la fórmula a utilizar en excel.

Pericles

Pericles
Imagen de Pericles
Offline
última acción: Hace 9 años 6 meses
alta: 14/11/2012 - 09:57
Puntos: 45
Re: valores únicos

Hola Pacomejia, quiero aclarar el planteamiento anterior. Cuando hablo de combinar de forma aleatoria los cinco caracteres me refiero a una combinación de cinco letras pero entre todas del abecedario, que unidas a las tres primeras fijas formarán la clave. Te agradecería me indicaras la fórmula a emplear.

Pericles

pacomegia
Imagen de pacomegia
Offline
última acción: Hace 2 horas 43 mins
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntosadministrador
alta: 27/12/2006 - 23:26
Puntos: 11175
Re: valores únicos

para no complicarlo mucho, como sólo tienes del 1 al 25, con eso puedes definir la primera letra

el resto de letras las puedes generar con un aleatorio.entre

Por ejemplo:

 

=CONCATENAR(CARACTER(64+tunumerodeorden);
CARACTER(ALEATORIO.ENTRE(65;90));CARACTER(ALEATORIO.ENTRE(65;90));
CARACTER(ALEATORIO.ENTRE(65;90));CARACTER(ALEATORIO.ENTRE(65;90)))

 

Copia y pega valores para que los aleatorios dejen de serlo, si no, cada vez que Excel recalcule cambiarán los códigos.

 

------
Ya sé Excel, pero necesito más.

Pericles
Imagen de Pericles
Offline
última acción: Hace 9 años 6 meses
alta: 14/11/2012 - 09:57
Puntos: 45
Re: valores únicos

Muchas gracias Pacomejía, esto si que responde a mi planteamiento. Lo único es que incluyo al principio de la función la secuencia "P3A"&... para identificar cada grupo ya que tengo en el centro 27 grupos de 25 alumnos cada grupo, y de esta manera no se me repetirá ninguno en todo el centro.

Pericles

Pericles
Imagen de Pericles
Offline
última acción: Hace 9 años 6 meses
alta: 14/11/2012 - 09:57
Puntos: 45
Re: valores únicos

Hola Paco, aunque en principio te dije que me servía la fórmula, a la hora de aplicarla, me ha surgido un problema tediosos y es que tengo que aplicar el copiar y pegar a 27 clases de 25 alumnos cada clase, unos 650 alumnos. Mi pregunta es que si hay alguna posibilidad de que lo que me dices de copiar y pegar valores se pueda hacer de manera menos laboriosa.  Intenté hacerlo de otra forma pero como tu dices cada vez que abro el libro excel me genera una clave diferente.

Saludo cordiales Pericles.

PaoFC
Imagen de PaoFC
Offline
última acción: Hace 10 años 10 meses
alta: 05/05/2013 - 18:27
Puntos: 40
Re: funcion CARACTERdesencriptar llave.

Hola, oye me podrias ayudar necesito hacer un convertidor del codigo ascii al lenguaje humano, y viceversa, sin embargo, no puedo, tu me podrias dar algunas opciones?

PaoFC

visitante (no verificado)
Imagen de visitante
Re: generar un código alfanumérico aleatorio con Excel

Como puedo generar codigos aleatorios de este tipo:

CHZE-A3R8-45E4

pacomegia
Imagen de pacomegia
Offline
última acción: Hace 2 horas 43 mins
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntosadministrador
alta: 27/12/2006 - 23:26
Puntos: 11175
Re: generar un código alfanumérico aleatorio con Excel

 

------
Ya sé Excel, pero necesito más.

EDDY (no verificado)
Imagen de visitante
PORFAVOR AYUDAAA

BUENAS PORFAVOR TENGO UN INCOMBENIENTE  CON LA GENERACION INFINITA DE CODIGOS COMO POR EJEMPLO "  RW1644MWT3673W7FXB6T4FK4G  " O " RW1644DFBKHE7XWEPNC5D2QFX " O " RW1644R5WC6WTA285BVZWVS5H "

    QUERIA SABER DE ALGUN PROGRAMA O ALGO PARA GENERAR MUCHAS OPCIONES AUTOMATICAS DESDE YA MUCHAS GRACIAS Y ESPERO SU RESPUESTA MUY INTERESANTE TODO

FRANCISCO (no verificado)
Imagen de visitante
alguien conoce como se hace clave mediante codigo de la pc

 Return the disk's serial number

' as a 10-digit string.

Function GetDiskSerialNumber() As String

Static serial_number As Long

 

Dim volume_name As String

Dim max_component_length As Long

Dim file_system_flags As Long

Dim file_system_name As String

 

    If serial_number = 0 Then

        ' Get the disk serial number.

        volume_name = Space$(1024)

        file_system_name = Space$(1024)

        If GetVolumeInformation(vbNullString, _

            volume_name, Len(volume_name), _

            serial_number, _

            max_component_length, file_system_flags, _

            file_system_name, Len(file_system_name)) = 0 _

        Then

            MsgBox "Error getting system information."

            GetDiskSerialNumber = 0

            Exit Function

        End If

    End If

 

    GetDiskSerialNumber = Invert(Right$(Format$(serial_number, "0000000000"), 10))

    

End Function

Private Function Invert(strng As String) ' Inversion function

Dim i As Integer

Dim tmp_txt As String

 

i = Len(strng)

 

Do Until i = 0

 

    tmp_txt = tmp_txt & Mid(strng, i, 1)

 

    i = i - 1

Loop

 

Invert = tmp_txt

 

End Function

 

Function noserie() As String

    noserie = GetDiskSerialNumber() & "392353683786868"

End Function

 

'Function PRO(ByVal Expression As String, ByVal Password As String) As String

'On Error Resume Next

'Dim RB(0 To 255) As Integer, X As Long, Y As Long, Z As Long, Key() As Byte, ByteArray() As Byte, Temp As Byte

'If Len(Password) = 0 Then

'    Exit Function

'End If

'If Len(Expression) = 0 Then

'    Exit Function

'End If

'If Len(Password) > 256 Then

'    Key() = StrConv(Left$(Password, 256), vbFromUnicode)

'Else

'    Key() = StrConv(Password, vbFromUnicode)

'End If

'For X = 0 To 255

'    RB(X) = X

'Next X

'X = 0

'Y = 0

'Z = 0

'For X = 0 To 255

'    Y = (Y + RB(X) + Key(X Mod Len(Password))) Mod 256

'    Temp = RB(X)

'    RB(X) = RB(Y)

'    RB(Y) = Temp

'Next X

'X = 0

'Y = 0

'Z = 0

'ByteArray() = StrConv(Expression, vbFromUnicode)

'For X = 0 To Len(Expression)

'    Y = (Y + 1) Mod 256

'    Z = (Z + RB(Y)) Mod 256

'    Temp = RB(Y)

'    RB(Y) = RB(Z)

'    RB(Z) = Temp

'    ByteArray(X) = ByteArray(X) Xor (RB((RB(Y) + RB(Z)) Mod 256))

'Next X

'PRO = StrConv(ByteArray, vbUnicode)

'End Function

 

Function VerificaActivacion()

Dim ws As Worksheet

Dim Clave As String

 

Set ws = Worksheets("DATOSEMP")

Clave = ws.Range("D24").Value

If Clave = llave("Excelente Punto de Venta 2015") Then

    VerificaActivacion = True

Else

    VerificaActivacion = False

End If

End Function

 

Function llave(permiso As String)

Dim code1 As String

Dim code2 As String

Dim code3 As String

Dim code4 As String

Dim code5 As String

Dim code11 As String

Dim code22 As String

Dim code33 As String

Dim code44 As String

Dim code55 As String

Dim Mfact As Integer

Dim i As Integer

Dim serie As String

If permiso = "Excelente Punto de Venta 2015" Then

 

    serie = noserie()

 

    'Split And morph

    If Mid(serie, 1, 1) = 0 Then

        If Mid(serie, 2, 1) = 0 Then

            Mfact = Int(Val(Val(Val(Mid(serie, 3, 1)) + Val(Mid(serie, 12, 1)) + Val(Mid(serie, 24, 1)) + Val(Mid(serie, Val(Mid(serie, 3, 1)), 1))) / 4))

        Else

            Mfact = Int(Val(Val(Val(Mid(serie, 2, 1)) + Val(Mid(serie, 12, 1)) + Val(Mid(serie, 24, 1)) + Val(Mid(serie, Val(Mid(serie, 2, 1)), 1))) / 4))

        End If

    Else

        Mfact = Int(Val(Val(Val(Mid(serie, 1, 1)) + Val(Mid(serie, 12, 1)) + Val(Mid(serie, 24, 1)) + Val(Mid(serie, Val(Mid(serie, 1, 1)), 1))) / 4))

    End If

    

    'Mfact = Int(Val(Val(Val(Mid(serie, 1, 1)) + Val(Mid(serie, 12, 1)) + Val(Mid(serie, 24, 1)) + Val(Mid(serie, Val(Mid(serie, 1, 1)), 1))) / 4))

    code1 = Mid(iSplit(serie, Mfact, 0), 1, 5)

    code2 = Mid(iSplit(serie, Mfact, 1), 1, 5)

    code3 = Mid(iSplit(serie, Mfact, 2), 1, 5)

    code4 = Mid(iSplit(serie, Mfact, 3), 1, 5)

    code5 = Mid(iSplit(serie, Mfact, 4), 1, 5)

 

    'Selective Inv. Proc.

    If Mid(code1, 5, 1) <> 0 Then

        code1 = Invert(code1)

    End If

    code3 = Invert(code3)

    code5 = Invert(code5)

 

    'Alpha Repla.

    code1 = Replace(code1, "27", "Z3")

    code1 = Replace(code1, "91", "8F")

    code1 = Replace(code1, "72", "1K")

    code1 = Replace(code1, "19", "PS")

    code1 = Replace(code1, "56", "O1")

    code1 = Replace(code1, "65", "M3")

    code1 = Replace(code1, "83", "L0")

    code1 = Replace(code1, "38", "E5")

    code1 = Replace(code1, "01", "XD")

    code1 = Replace(code1, "10", "PW")

 

    code2 = Replace(code2, "30", "C4")

    code2 = Replace(code2, "03", "UX")

    code2 = Replace(code2, "55", "I8")

    code2 = Replace(code2, "66", "PS")

    code2 = Replace(code2, "23", "MZ")

    code2 = Replace(code2, "32", "8Q")

    code2 = Replace(code2, "14", "0L")

    code2 = Replace(code2, "41", "XS")

    code2 = Replace(code2, "74", "9U")

    code2 = Replace(code2, "47", "NT")

    

    code3 = Replace(code3, "27", "Z3")

    code3 = Replace(code3, "91", "8F")

    code3 = Replace(code3, "72", "1K")

    code3 = Replace(code3, "19", "PS")

    code3 = Replace(code3, "56", "O1")

    code3 = Replace(code3, "32", "8Q")

    code3 = Replace(code3, "14", "0L")

    code3 = Replace(code3, "41", "XS")

    code3 = Replace(code3, "74", "9U")

    code3 = Replace(code3, "47", "NT")

    

    code4 = Replace(code4, "27", "Z3")

    code4 = Replace(code4, "91", "8F")

    code4 = Replace(code4, "72", "1K")

    code4 = Replace(code4, "19", "PS")

    code4 = Replace(code4, "56", "O1")

    code4 = Replace(code4, "65", "M3")

    code4 = Replace(code4, "83", "L0")

    code4 = Replace(code4, "38", "E5")

    code4 = Replace(code4, "01", "XD")

    code4 = Replace(code4, "10", "PW")

    

    code5 = Replace(code5, "30", "C4")

    code5 = Replace(code5, "03", "UX")

    code5 = Replace(code5, "55", "I8")

    code5 = Replace(code5, "66", "PS")

    code5 = Replace(code5, "23", "MZ")

    code5 = Replace(code5, "32", "8Q")

    code5 = Replace(code5, "14", "0L")

    code5 = Replace(code5, "41", "XS")

    code5 = Replace(code5, "74", "9U")

    code5 = Replace(code5, "47", "NT")

    

    

    'Position Swap

    code11 = code1

    code22 = code2

    code33 = code3

    code44 = code4

    code55 = code5

    

    i = Val(Mid(serie, 1, 1))

    

    Select Case i = Val(Mid(serie, 1, 1))

        Case i = 1

            code1 = code22

            code2 = code44

            code3 = code11

            code4 = code55

            code5 = code33

            

        Case i = 2

            code1 = code44

            code2 = code11

            code3 = code33

            code4 = code22

            code5 = code55

                

        Case i = 3

            code1 = code33

            code2 = code11

            code3 = code44

            code4 = code55

            code5 = code22

            

        Case i = 4

            code1 = code11

            code2 = code22

            code3 = code44

            code4 = code55

            code5 = code33

            

        Case i = 5

            code1 = code22

            code2 = code44

            code3 = code11

            code4 = code55

            code5 = code33

            

        Case i = 6

            code1 = code22

            code2 = code44

            code3 = code11

            code4 = code55

            code5 = code33

            

        Case i = 7

            code1 = code22

            code2 = code44

            code3 = code11

            code4 = code55

            code5 = code33

                

        Case i = 8

            code1 = code44

            code2 = code11

            code3 = code33

            code4 = code22

            code5 = code55

        

        Case i = 9

            code1 = code55

            code2 = code11

            code3 = code33

            code4 = code22

            code5 = code44

            

    End Select

    llave = code1 & code2 & code3 & code4 & code5

Else

llave = "Acceso indevido!"

End If

End Function

    

 

Private Function iSplit(orig As String, mFactor As Integer, Partition As Integer) As String

Dim tmp_key As String

Dim tmp_istring(0 To 5) As String

 

tmp_key = orig

 

tmp_istring(0) = Val(Mid(tmp_key, 1, 5)) * mFactor

tmp_istring(1) = Val(Mid(tmp_key, 6, 5)) * mFactor

tmp_istring(2) = Val(Mid(tmp_key, 11, 5)) * mFactor

tmp_istring(3) = Val(Mid(tmp_key, 16, 5)) * mFactor

tmp_istring(4) = Val(Mid(tmp_key, 21, 5)) * mFactor

 

iSplit = tmp_istring(Partition)

 

End Function

 

 

Guille (no verificado)
Imagen de visitante
Va una forma

Hola, podes utilizar la formula de abajo y en las celdas A1 al A37 pones las letras y numeros que queres aleatorizar

=CONCATENAR(DESREF($A$1;ALEATORIO.ENTRE(1;37););DESREF($A$1;ALEATORIO.ENTRE(1;37););DESREF($A$1;ALEATORIO.ENTRE(1;37););DESREF($A$1;ALEATORIO.ENTRE(1;37););DESREF($A$1;ALEATORIO.ENTRE(1;37););DESREF($A$1;ALEATORIO.ENTRE(1;37););DESREF($A$1;ALEATORIO.ENTRE(1;37););DESREF($A$1;ALEATORIO.ENTRE(1;37);))

NELSON (no verificado)
Imagen de visitante
LO MISMO

AMIGO TE PREGUNTO , SI YO QUIERO QUE SEAN SOLO CODIGOS CON NUMEROS Y LETRAS SIN CARACTERES ?? COMO DEBERIA SER EL COMANDO???

nixon (no verificado)
Imagen de visitante
CODIGO UNICO

COMO HARIA Si quisiera que mi codigo se vea segun el numero de fila pero con tantos ceros adelante como el numero de caracteres quiero? por ejemplo para la fila 1 quisiera un codigo de digamos 6 caracteres entonces el codigo Sea "00001"

Cron
Imagen de Cron
Offline
última acción: Hace 8 meses 1 día
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntos
alta: 23/06/2010 - 12:30
Puntos: 12735
Utiliza el formato de celda.

Utiliza el formato de celda. Selecciona las celdas, botón derecho, Formato de Celdas. En la pestaña número, Y a la izquierda selecciona "Personalizada"

Donde pone "Tipo" tienes que escribir 000000 y pulsar "Aceptar"

De esta manera, todos los números que escribas en esa celda tendrán 6 cifras, rellenando con 0 a la izquierda.

Un saludo

Belen (no verificado)
Imagen de visitante
consulta

buen dia, si yo quisiera hacer un listado, tengo 130 nombres y apellidos y quiero identificarlos con codigos es decir presiono el nro 1 y en la celda de al lado me aparezca Juan Romero, 2 sea Luis Perez y asi sucesivamente.

Realizar una nomina con codigos.

 

Cron
Imagen de Cron
Offline
última acción: Hace 8 meses 1 día
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntos
alta: 23/06/2010 - 12:30
Puntos: 12735
Eso se puede hacer

Eso se puede hacer simplemente con BUSCARV.

Un saludo

Pascal (no verificado)
Imagen de visitante
Dar un valor a cada numero

este comentario ha sido movido a un tema nuevo en el foro

Mario Bellomo
Imagen de Mario Bellomo
Offline
última acción: Hace 6 años 5 meses
alta: 16/10/2017 - 18:13
Puntos: 20
Hola estoy generando codigos unicos

hola, creo que podria ayudarme, quiero crear un registro de todas las entradas realizadas , pero necesito realizarle un codigo unico pero solo puede contener 6 digitos, he decidido usar los caracteres USCII del 33 al 122 para cada uno de los digitos y vayan sumando uno respecto a la entrada anterior, para despues concatenarlos, solo que tengo un pequeño problema usando una formula SI, mire es esta para ver si la puede analizar y decirme que hacer con el valor si falso de este SI, =SI(U2=CARACTER(122),CARACTER(33),U2+1) vera que no logro hacerle sumar uno al caracter de la celda u2, LE AGRADECERIA MUCHISIMO QUE ME PUEDA AYUDAR

Mario Bellomo
Imagen de Mario Bellomo
Offline
última acción: Hace 6 años 5 meses
alta: 16/10/2017 - 18:13
Puntos: 20
LO ENCONTRE, JEJE

LA FORMULA QUE ME PERMITIO HACERLO FUE CODIGO, ASI QUEDO =SI(B1=CARACTER(122),CARACTER(33),CARACTER((CODIGO(B1)+1)))   GRACIAS DE TODAS FORMAS

Luan Tenório (no verificado)
Imagen de visitante
Fórmula em Excel:

=CONCATENAR("N SÉRIE ";ALEATÓRIOENTRE(10;99); CARACT(ALEATÓRIOENTRE(65;90)); ALEATÓRIOENTRE(10;99) )

Hernan (no verificado)
Imagen de visitante
Gracias

Mes salvastes.....tenia que generar 80000 datos variables y eran super urgentes

JotaSuperstar (no verificado)
Imagen de visitante
RE

En el caso de los DNI chilenos, se hacen con el Módulo 11.

dan3l4 (no verificado)
Imagen de visitante
funcion CARACTER

Como puedo hacer para que el código sea solo alfanúmericos sin caracteres especiales????

Jefferson Montoya (no verificado)
Imagen de visitante
carácter alfanumérico

Hola esta es la solucion para generar un caracter alfanumerico

=CONCAT(CARACTER(ALEATORIO.ENTRE(48;57));CARACTER(ALEATORIO.ENTRE(48;57));CARACTER(ALEATORIO.ENTRE(65;90));CARACTER(ALEATORIO.ENTRE(48;57));CARACTER(ALEATORIO.ENTRE(65;90)))

JOE (no verificado)
Imagen de visitante
funcion CARACTER

Que buen tip!! muchas gracias, me sirvió para resolver un asunto importante. 

Saludos,