Creare lista codici casuali

Una lista codici casuali può esserci utile se vogliamo schermare le informazioni sensibili sui nostri utenti verso terzi.

Assumiamo per esempio di avere una lista di email collegata con l’età, il luogo di residenza e il sesso della persona. Magari vogliamo condividere una lista di codici che noi sappiamo essere uguali agli uomini con una certa età in una certa zona ma non vogliamo diffondere queste informazioni sensibili. Chi riceverà la lista di codici non potrà scoprire queste informazioni, che saranno solo di nostra pertinenza.

Questa parte può essere utile anche per creare statistiche di vendita nelle quali scopriamo che l’utente X!14E ha fatto 5 acquisti sul nostro e-commerce, dato che magari non vogliamo condividere con chi ci ha creato il sistema di analisi delle informazioni sensibili. Noi sappiamo che si chiama Luca, abita fuori Siena e ha 25 anni – chi analizza i dati non potrebbe mai risalire a queste informazioni, ma può comunque dirci quanti acquisti ha fatto e di che genere.

Excel ha due funzioni che sono collegate con elementi casuali. Purtroppo, CASUALE è solo un numero casuale mentre CASUALE.TRA indica solo un numero in un intervallo definito (ad esempio fra 1 e 12). Per creare codici alfanumerici, dovremo creare un sistema ad hoc.

Database di partenza

Microsoft_Excel_Codici_Casuali_Master
Questo è il nostro database di partenza.

Abbiamo quindi una lista con Nome, Sesso, Età, Email e Luogo. Ora dobbiamo creare gli elementi che andranno a comporre i codici associati ai singoli utenti.

Creazione liste per codici

Microsoft_Excel_Codici_Casuali_Alfabeto
In questo caso specifico, sono 4 elementi diversi.

Un trucco per avere una lista di tutta l’alfabeto è utilizzare la funzione CODICE.CARATT a partire dal numero 65, che corrisponde alla A.  Trascinando la formula, avremo tutti i caratteri dell’alfabeto. Questi rappresenteranno il nostro primo elemento.

Il secondo elemento sono alcuni elementi di punteggiatura e valuta.

Il terzo elemento sono i numeri da 1 a 25. Se volessimo avere tutti codici con la stessa lunghezza (numero di caratteri) dovremo limitarci ai numeri da 0 a 9.

Il quarto e ultimo elemento sono nuovamente i codici per l’alfabeto, ma potremmo inserire qualsiasi altra cosa.

Creazione codici casuali

Microsoft_Excel_Codici_Casuali_Finale
Versione finale con i codici per singolo utente.

L’artificio è quello di utilizzare la funzione CONCATENA per collegare fra di loro tutti gli elementi. Per individuarli, dovremo utilizzare la combinazione delle funzioni INDICE e CASUALE.TRA. Andiamo più nel dettaglio.

CONCATENA mette assieme diversi valori. Se creo una funzione con =CONCATENA(20;10) il valore risultante sarà 2010.

INDICE individua un valore all’interno di un elenco. Per scoprire come collegarla con la funzione CONFRONTA, suggerisco questo articolo. Mettiamo di voler identificare il valore in terza posizione di un elenco.

Microsoft_Excel_Codici_Casuali_Indice_Casuale_Tra

In sostanza INDICE([intervallo];[posizione];0) è ciò che ci interessa.

Nel nostro caso dei codici il ragionamento è simile: INDICE mi individua un valore all’interno di un elenco basandosi sulla funzione CASUALE.TRA che mi segnala un numero casuale in un certo intervallo. Quindi per il primo elemento inseriremo la funzione CASUALE.TRA(1;26) per indicare che ci serve un valore fra 1 e 26 (da A a Z), mentre per il secondo elemento inseriremo CASUALE.TRA(1;5) perchè i valori sono solo 5 (! $ etc) e così via.

Microsoft_Excel_Codici_Casuali_Finale

Come sempre, ecco il file da scaricare con l’esempio proposto. Dato che le formule sono ancora attive, potresti vedere dei codici diversi da quelli indicati nelle immagini dell’articolo.

Un dettaglio per la formula:

=CONCATENA(
INDICE(LIST!$C$2:$C$27;CASUALE.TRA(1;26);0);
INDICE(LIST!$E$2:$E$6;CASUALE.TRA(1;5);0);
INDICE(LIST!$G$2:$G$26;CASUALE.TRA(1;25);0);
INDICE(LIST!$I$2:$I$27;CASUALE.TRA(1;26)))

Chiaramente l’ultimo INDICE della colonna I potrebbe essere sostituito con il primo INDICE della colonna C, dato che si parla dello stesso elenco.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *