Necesito anonimizar una lista grande de 400 DNI.

2 envíos / 0 nuevos
Último envío
RAÚL
Imagen de RAÚL
Offline
última acción: Hace 2 meses 2 semanas
alta: 19/09/2022 - 11:54
Puntos: 25
Necesito anonimizar una lista grande de 400 DNI.

Buenos días, debido a mi trabajo necesito anonimizarunos DNI, pero me piden hacerlo aleatoriamente, es decir, que en cada DNI se muestren 4 numeros seguidos, no importa cuales, y se sustituyan los demas por asteriscos. pongo un ejemplo de como deberían quedar:

***7418**

*8597****

**5364***

Pues eso, el problema es que no consigo que me lo haga aleatoriamente (que en cada celda pues lo anonimice distinto). Bueno no se si me he explicado, pero si alguien me puede ayudar, muchas gracias.

pacomegia
Imagen de pacomegia
Offline
última acción: Hace 1 día 4 horas
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntosadministrador
alta: 27/12/2006 - 23:26
Puntos: 11085
podrías utilizar el número de

podrías utilizar el número de fila por ejemplo para elegir qué número tomas

Utilizar el número fila tiene la ventaja de que no cambia (a no ser que reordenes los datos); si utilizasea alguna función que devolviese un número aleatorio, como ALEATORIO.ENTRE cada vez que se recalculase la hoja cambiarían ese número aleatorio y cambiaría tu resultado. Bueno, igual esto no es necesariamente una desventaja, depende de lo que necesites conseguir.

Volviendo al tema de poner asteriscos, como tus cadenas tienen 9 caracteres, podrás tener de 0 a 5 asteriscos al principio, luego 4 números auténticos, y por último el resto de asteriscos (de 5 a 0)

Tomando el resto de dividir el número de fila entre 6 de devuelve un número entre 0 y 5, así que puede servirnos para poner asteriscos al principio. esto lo calculo con la función RESIDUO

Con la función REPETIR repito un número de asteriscos al principio y al final

Con la funcion EXTRAE extraigo los cuatro caracteres reales

podría ser algo así (en A1 el número de documento de identidad real)

=REPETIR("*";RESIDUO(FILA();6)) & EXTRAE(A1;RESIDUO(FILA();6)+1;4) & REPETIR("*";LARGO(A1)-4-RESIDUO(FILA();6))

adjunto un ejemplo

AdjuntoTamaño
File anonimizardnis.xlsx9.3 KB

 

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