Venkataramanan deve generare numeri casuali nell’intervallo da -99 a +99, esclusi i numeri a una cifra (da -9 a +9). Si chiede se c’è un modo per portare a termine il compito.

Esistono un paio di funzioni del foglio di lavoro che vengono spesso utilizzate per generare numeri casuali in Excel. La funzione RAND viene utilizzata per generare un numero casuale compreso tra 0 e 1, mentre la funzione RANDBETWEEN (parte di Analysis ToolPak) viene utilizzata per generare un numero casuale all’interno di un intervallo di numeri.

Non esiste una funzione per fare ciò che Venkataramanan vuole fare, ma puoi scrivere una formula che farà il trucco. Considera questa formula:

=IF(RAND()>0.5,1,-1)*(RANDBETWEEN(10,99))

La prima funzione RAND determina se il risultato è ‘+’ o ‘-‘ e la successiva funzione RANDBETWEEN restituisce il numero desiderato compreso tra 10 e 99.

Quando la funzione è terminata, si dispone del numero casuale a due cifre desiderato.

Un’altra formula è di natura simile:

=ROUND(RAND()89+10,0)((RAND()<0.5)*2-1)

La prima parte genera numeri interi nell’intervallo da 0 a 89. La formula aggiunge 10 a questo, dando effettivamente un numero da 10 a 99. La seconda parte della formula viene quindi utilizzata per determinare in modo casuale se il risultato deve essere positivo o negativo .

Un altro approccio si basa interamente sulla funzione RANDBETWEEN e non utilizza alcuna moltiplicazione:

=VALUE(IF(RANDBETWEEN(0,1)=0,"-","")&RANDBETWEEN(1,9)&RANDBETWEEN(0,9))

La formula mette insieme una stringa che consiste in un segno meno o uno spazio vuoto seguito da due cifre. La formula utilizza quindi la funzione VALUE per convertire la stringa in un valore numerico. Una versione ancora più breve della formula sarebbe questa:

=VALUE(IF(RANDBETWEEN(0,1)=0,"-","")&RANDBETWEEN(10,99))

ExcelTips è la tua fonte di formazione economica su Microsoft Excel.

Questo suggerimento (3403) si applica a Microsoft Excel 97, 2000, 2002 e 2003. Puoi trovare una versione di questo suggerimento per l’interfaccia a nastro di Excel (Excel 2007 e versioni successive) qui: