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 Sub
Ed 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 Sub
Ed 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