Generar contraseña aleatoria de Excel
Resuelto
Anonyme
-
Mike-31 Mensajes publicados 18405 Fecha de registro Estado Colaborador Última intervención -
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
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
-
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 --