DANILOFIORINI, 24/04/2020 20:03:Ciao senza creare colonne di appoggio in B3 da trascinare in basso =10+AGGREGA(15;6;RIF.RIGA($134:$467)/(CONTA.SE(B$2:B2;RIF.RIGA($134:$467))=0);CASUALE.TRA(1;334-CONTA.NUMERI(B$2:B2)))/1000 se la dovessi mettere in un'altra cella devi avere l'accortezza di cambiare l'intervallo del CONTA.SE(la parte in rosso cioè se la metti in A10 devi scrivere A$9:A9) e sopra la cella dove metti la formula non ci devono essere numeri P.S. formatta in numero con 3 decimali
DANILOFIORINI, 25/04/2020 10:44:Ciao togliamo l'intero come hai capito....la richiesta era di generare casuali.tra 0,134 e 0,467 se hai bisogno di cambiare i numeri la generalizzo cosi numero A numero B =INTERO+AGGREGA(15;6;RIF.RIGA($numA:$numB)/(CONTA.SE(B$2:B2;RIF.RIGA($numA:$numB))=0);CASUALE.TRA(1;NumB-NumA-CONTA.NUMERI(B$2:B2)))/1000
DANILOFIORINI, 25/04/2020 16:34:Ciao in effetti più sono i numeri e più c'è la possibilità di estrarre dei doppioni quindi bisogna usare una colonna di servizio e in rete se scrivi "casuale tra senza ripetizioni" trovi moltissimi esempi io propongo questa procedura in B1 e C1 mettiamo gli estremi all'interno dei quali estrarre i numeri casuali in A3 da trascinare in basso (eventualmente la colonna si può nasconderre) =10+CASUALE.TRA(($B$1-INT($B$1))*10^3;($C$1-INT($C$1))*10^3)/10^3 Qui c'è il valore dell'intero fisso (ma eventualmente si può rendere dinamico) in B3 da trascinare in basso =SE.ERRORE(INDICE($A$3:$A$102;CONFRONTA(0;INDICE(CONTA.SE($B$2:B2;$A$3:$A$102&""););0));"") ho trascinato per 100 righe ma puoi farne di meno oppure impostare un numero max di righe da visualizzare...fai sapere
Sub trova() Dim RndColl As New Collection, Num As Integer Dim i As Long, rng As Range, cl, dat(1 To 60) i = 1 Worksheets("Foglio1").Activate Set rng = Range("E2:j10") For Each cl In rng dat(i) = cl.Value i = i + 1 Next cl i = 1 Worksheets("Foglio2").Activate Range("A2:B6").ClearContents Do Until RndColl.Count = 3 Randomize Num = Int(60 * Rnd + 1) On Error Resume Next RndColl.Add Num, CStr(Num) On Error GoTo 0 Cells(i, 2) = Num Cells(i, 1) = dat(Num) i = i + 1 Loop End Sub