Generar contraseña aleatoria de Excel

Resuelto
Anonyme -  
Mike-31 Mensajes publicados 18405 Fecha de registro   Estado Colaborador Última intervención   -
Hola,

En Excel:
Columna A: Nombre
Columna B: Apellido
Columna C: @mail

Pero para la columna D, me gustaría generar una contraseña aleatoria bastante compleja, del tipo: qFH9rL6
¡Todo automáticamente cuando se ingresen las 3 informaciones de las columnas A, B y C!
¿Qué fórmula debo usar en la columna D?

Gracias

Atentamente,

Anónimo
Configuración: Windows XP Firefox 3.5.3

5 respuestas

  1. pijaku Mensajes publicados 13513 Fecha de registro   Estado Moderador Última intervención   2 773
     
    Hola,
    No es fácil "trastear" una fórmula que te dé un resultado aleatorio. Con VBA, una macro lo haría sin problema. Sin embargo, manipulando la fórmula ALEATORIO() de Excel, se puede obtener un resultado:
    =EXTRAE(A1;REDONDEAR.MAS(ALEATORIO()*62;0);1)
    En A1 colocas el alfabeto en mayúsculas, los números del 0 al 9 y el alfabeto en minúsculas, todo pegado sin espacios:
    ABCDE...0123....abcde...
    en B1 la fórmula:
    =EXTRAE(A1;REDONDEAR.MAS(ALEATORIO()*62;0);1)
    Para obtener 7 caracteres aleatorios:
    Debes colocar la misma fórmula 7 veces con & entre 2:
    =EXTRAE(A1;REDONDEAR.MAS(ALEATORIO()*62;0);1)&EXTRAE(A1;REDONDEAR.MAS(ALEATORIO()*62;0);1)&EXTRAE(A1;REDONDEAR.MAS(ALEATORIO()*62;0);1)&EXTRAE(A1;REDONDEAR.MAS(ALEATORIO()*62;0);1)&EXTRAE(A1;REDONDEAR.MAS(ALEATORIO()*62;0);1)&EXTRAE(A1;REDONDEAR.MAS(ALEATORIO()*62;0);1)&EXTRAE(A1;REDONDEAR.MAS(ALEATORIO()*62;0);1)
    Para extender tu fórmula no olvides colocar signos $ así: $A$1 en lugar de cada A1.
    El problema de esta fórmula es que es "volátil". Así que, cada vez que ingreses algo en tu hoja de cálculo, el resultado cambia.
    Puedes sortear este problema haciendo: copiar / Pegar especial "valor" ya sea manualmente o mediante una macro automática, muy fácil de usar:
    En un módulo VBA insertas este código:
    Sub Macro1()
    ActiveCell.Copy
    ActiveCell.Offset(0, 1).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
    Application.CutCopyMode = False
    End Sub
    Haces clic en la celda donde acabas de indicar la fórmula y presionas ALT + F8, eliges Macro1 y ejecutas.
    Esta macro copia / pega especial en la celda a la derecha de la celda activa...
    --
    Atentamente,
    -- Lo que vale la pena hacer, vale la pena hacerlo bien --
    3