Inizio con uno, quindi alterno i due reparti.
Quindi prima formatto il foglio, quindi sul range Reparto metto il nome del reparto con questo meccanismo casuale.
Ma vediamo come fare una sequenza casuale...
Forse mi conviene fare un array con i nomi dei due reparti.
Sub main() Dim reparti(1) As String reparti(0) = "MED" reparti(1) = "CAR" End Sub...semplicissimamente elementare e immediato...
Adesso rivediamo un po' come si fanno i numeri casuali...
Sì: ecco un codice che mi permette di vedere la quantità di 1 e di 0 che sono stati estratti a sorte con 50 estrazioni:
Sub main() Dim n As Integer Dim nzero As Integer, nuno As Integer For k = 1 To 50 n = Int(Rnd() * 2) If n = 0 Then nzero = nzero + 1 If n = 1 Then nuno = nuno + 1 Next k Debug.Print nzero Debug.Print nuno Debug.Print "-----" End SubEd ecco i risultati, che mi pare ci stiano piuttosto bene con la "casualità" della cosa:
26 24 ----- 24 26 ----- 29 21 ----- 24 26 ----- 25 25 ----- 22 28 ----- 27 23 ----- 25 25 ----- 30 20 -----
Fatto questo, estraiamo a sorte dagli elementi del piccolo array:
Sub main() Dim reparti(1) As String Dim n As Integer reparti(0) = "CAR" reparti(1) = "MED" For k = 1 To 50 n = Int(Rnd() * 2) Debug.Print reparti(n) Next k End Sub...che però mi dà lunghe sequenze sia dell'uno che dell'altro...
CAR CAR CAR MED MED CAR CAR CAR CAR MED CAR CAR MED CAR MED CAR CAR MED CAR CAR MED CAR MED CAR CAR MED MED MED CAR CAR MED MED MED MED CAR MED MED CAR MED MED MED CAR CAR CAR CAR CAR CAR MED CAR CAR
Meglio ancora, invece, è rendere casuale solo la prima estrazione e successivamente andare per alternanza:
Sub main() Dim reparti(1) As String Dim n As Integer reparti(0) = "CAR" reparti(1) = "MED" n = Int(Rnd() * 2) Debug.Print reparti(n) For k = 1 To 50 If n = 0 Then n = 1 Else n = 0 End If Debug.Print reparti(n) Next k debug.print "-----" End SubEd ecco alcune estrazioni ripetute:
CAR MED CAR MED CAR MED CAR MED CAR MED CAR MED CAR MED CAR MED CAR MED CAR MED CAR MED CAR MED CAR MED CAR MED CAR MED CAR MED CAR MED CAR MED CAR MED CAR ----- MED CAR MED CAR MED CAR MED CAR MED CAR MED CAR MED CAR MED CAR MED CAR MED CAR MED CAR MED CAR MED CAR MED CAR MED CAR MED CAR MED CAR MED CAR MED CAR MED CAR MED CAR MED CAR MED CAR MED CAR MED CAR MED ----- MED CAR MED CAR MED CAR MED CAR MED CAR MED CAR MED CAR MED CAR MED CAR MED CAR MED CAR MED CAR MED CAR MED CAR MED CAR MED CAR MED CAR MED CAR MED CAR MED CAR MED CAR MED CAR MED CAR MED CAR MED CAR MED ----- CAR MED CAR MED CAR MED CAR MED CAR MED CAR MED CAR MED CAR MED CAR MED CAR MED CAR MED CAR MED CAR MED CAR MED CAR MED CAR MED CAR MED CAR MED CAR MED CAR MED CAR MED CAR MED CAR MED CAR MED CAR MED CAR -----Sì: inizia casualmente, quindi si alternano regolarmente.
Nessun commento:
Posta un commento