Numeros aleatorios

18/04/2004 - 00:45 por Carla | Informe spam
Hola compis, quisiera hacer una combinacion de la Loteria
Primitiva con el Excel osea: poner de 1 al 49 y que el
Excel escoja aleatoriamente los 6 numeros se puede hacer.
Gracias,
CLARA

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
18/04/2004 - 06:30 | Informe spam
hola, Carla !

... hacer una combinacion de la Loteria Primitiva con el Excel
... de 1 al 49 y que el Excel escoja aleatoriamente los 6 numeros [...]



-segun yo- la forma mas facil, rapida, sencilla [y ademas... 'azarosa'] es...
'generar' los seis numeros [entre 1 y 49] 'al azar' con la funcion aleatorio.entre y...
'separarlos' por alguna cadena de caracteres [como p.e. un punto] ;)

prueba la siguiente formula [es en una sola linea y 'mi' separador de argumentos es la coma]
=Aleatorio.Entre(1,49)&"."
&Aleatorio.Entre(1,49)&"."
&Aleatorio.Entre(1,49)&"."
&Aleatorio.Entre(1,49)&"."
&Aleatorio.Entre(1,49)&"."
&Aleatorio.Entre(1,49)

saludos,
hector.
Respuesta Responder a este mensaje
#2 Jesús Román
18/04/2004 - 09:52 | Informe spam
Hola madrugador!!!
Buenos dias Hector Miguel! hay un pequeño fallo en la formula, pues, repite
alguna vez los numeros y en las primitivas han de ser seis numeros
distintos.
Bueno, a mi no me interesa, solo lo miraba por curiosidad o por vicio, no
obstante al observarlo, no he podido evitar escribirte.
Un cordial saludo!


"Héctor Miguel" escribió en el mensaje
news:
hola, Carla !

> ... hacer una combinacion de la Loteria Primitiva con el Excel
> ... de 1 al 49 y que el Excel escoja aleatoriamente los 6 numeros [...]

-segun yo- la forma mas facil, rapida, sencilla [y ademas... 'azarosa']


es...
'generar' los seis numeros [entre 1 y 49] 'al azar' con la funcion


aleatorio.entre y...
'separarlos' por alguna cadena de caracteres [como p.e. un punto] ;)

prueba la siguiente formula [es en una sola linea y 'mi' separador de


argumentos es la coma]
=Aleatorio.Entre(1,49)&"."
&Aleatorio.Entre(1,49)&"."
&Aleatorio.Entre(1,49)&"."
&Aleatorio.Entre(1,49)&"."
&Aleatorio.Entre(1,49)&"."
&Aleatorio.Entre(1,49)

saludos,
hector.
Respuesta Responder a este mensaje
#3 Fernando Arroyo
18/04/2004 - 10:03 | Informe spam
Hace algún tiempo se planteó en este grupo lo mismo, y yo escribí el siguiente sub:

Sub Aleatorio6_49()
Dim v As Byte, s As String, m As Variant
'Crear la matriz con los 6 números
Do
v = Int((49 - 1 + 1) * Rnd + 1)
If InStr(s, Right("0" & v, 2)) = 0 Then
s = s & IIf(Len(s) = 0, "", ",") & Right("0" & v, 2)
End If
m = Split(s, ",")
If UBound(m) = 5 Then Exit Do
Loop

'Volcar matriz a hoja
For v = 1 To 6
Worksheets("Hoja1").Range("A" & v) = m(v - 1)
Next v

'Ordenar rango A1:A6
Worksheets("Hoja1").[A1:A6].Sort _
Key1:=Range("A1"), _
Order1:=xlAscending, _
Header:=xlGuess, _
OrderCustom:=1, _
MatchCase:=False, _
Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
End Sub

Si lo pruebas, hazlo en un libro vacío porque el código vuelca los 6 números en el rango A1:A6 de Hoja1, y si hubiera algún dato en dichas celdas se perderían.
Un saludo.


Fernando Arroyo
MS MVP - Excel

"Jesús Román" <CRISONIA3(texto inactivo)@terra.es> escribió en el mensaje news:ptqgc.4576894$
Hola madrugador!!!
Buenos dias Hector Miguel! hay un pequeño fallo en la formula, pues, repite
alguna vez los numeros y en las primitivas han de ser seis numeros
distintos.
Bueno, a mi no me interesa, solo lo miraba por curiosidad o por vicio, no
obstante al observarlo, no he podido evitar escribirte.
Un cordial saludo!


"Héctor Miguel" escribió en el mensaje
news:
> hola, Carla !
>
> > ... hacer una combinacion de la Loteria Primitiva con el Excel
> > ... de 1 al 49 y que el Excel escoja aleatoriamente los 6 numeros [...]
>
> -segun yo- la forma mas facil, rapida, sencilla [y ademas... 'azarosa']
es...
> 'generar' los seis numeros [entre 1 y 49] 'al azar' con la funcion
aleatorio.entre y...
> 'separarlos' por alguna cadena de caracteres [como p.e. un punto] ;)
>
> prueba la siguiente formula [es en una sola linea y 'mi' separador de
argumentos es la coma]
> =Aleatorio.Entre(1,49)&"."
> &Aleatorio.Entre(1,49)&"."
> &Aleatorio.Entre(1,49)&"."
> &Aleatorio.Entre(1,49)&"."
> &Aleatorio.Entre(1,49)&"."
> &Aleatorio.Entre(1,49)
>
> saludos,
> hector.


Respuesta Responder a este mensaje
#4 Héctor Miguel
18/04/2004 - 11:49 | Informe spam
hola, chicos !

Jesús Román escribio en el mensaje
Hola madrugador!!! ... un pequeño fallo en la formula ... repite alguna vez los numeros [...]



=> ¡ cierto !!!
'tendras que'... re-calcular el modelo =>{F9}<= una o dos veces 'cada...' [que se de el caso] :((
[solo me parecio la manera 'mas rapida'... al fin que... se trata de 'dejar al azar' el resultado] ;)
=> aahhh ! con respecto a lo de 'madrugador'... 'chas gracias [lo que pasa es que 'a veces'... no duermo] :(

Fernando Arroyo escribio en el mensaje
Hace ... tiempo se planteo ... lo mismo ... siguiente sub [...]
... hazlo en un libro vacio ... vuelca los 6 números en el rango A1:A6 de Hoja1, y si hubiera algún dato [...]





=> una 'variante' [pudiera ser] una funcion que 'devuelva' una cadena de texto [donde 'se llame'] +/- como:
[esta propuesta es SOLO porque la funcion 'split' NO 'funciona' en excel '97... y... 'todavia' esta 'vigente'] ;)
Function Loteria() As String
Dim Sig As Integer, Bolita As New Collection, Bolitas As Variant
Application.Volatile
Do: On Error Resume Next
Bolitas = Int((Rnd * 49) + 1)
Bolita.Add Bolitas, CStr(Bolitas)
Loop Until Bolita.Count = 6
Bolitas = ""
For Sig = 1 To 6
If Bolitas <> "" Then Bolitas = Bolitas & "."
Bolitas = Bolitas & Bolita.Item(Sig)
Next
Loteria = Bolitas
End Function

saludos,
hector.
Respuesta Responder a este mensaje
#5 Jesús Román
18/04/2004 - 20:47 | Informe spam
Magistral !


"Fernando Arroyo" escribió en el mensaje
news:
Hace algún tiempo se planteó en este grupo lo mismo, y yo escribí el
siguiente sub:

Sub Aleatorio6_49()
Dim v As Byte, s As String, m As Variant
'Crear la matriz con los 6 números
Do
v = Int((49 - 1 + 1) * Rnd + 1)
If InStr(s, Right("0" & v, 2)) = 0 Then
s = s & IIf(Len(s) = 0, "", ",") & Right("0" & v, 2)
End If
m = Split(s, ",")
If UBound(m) = 5 Then Exit Do
Loop

'Volcar matriz a hoja
For v = 1 To 6
Worksheets("Hoja1").Range("A" & v) = m(v - 1)
Next v

'Ordenar rango A1:A6
Worksheets("Hoja1").[A1:A6].Sort _
Key1:=Range("A1"), _
Order1:=xlAscending, _
Header:=xlGuess, _
OrderCustom:=1, _
MatchCase:=False, _
Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
End Sub

Si lo pruebas, hazlo en un libro vacío porque el código vuelca los 6 números
en el rango A1:A6 de Hoja1, y si hubiera algún dato en dichas celdas se
perderían.
Un saludo.


Fernando Arroyo
MS MVP - Excel

"Jesús Román" <CRISONIA3(texto inactivo)@terra.es> escribió en el mensaje
news:ptqgc.4576894$
Hola madrugador!!!
Buenos dias Hector Miguel! hay un pequeño fallo en la formula, pues,


repite
alguna vez los numeros y en las primitivas han de ser seis numeros
distintos.
Bueno, a mi no me interesa, solo lo miraba por curiosidad o por vicio, no
obstante al observarlo, no he podido evitar escribirte.
Un cordial saludo!


"Héctor Miguel" escribió en el mensaje
news:
> hola, Carla !
>
> > ... hacer una combinacion de la Loteria Primitiva con el Excel
> > ... de 1 al 49 y que el Excel escoja aleatoriamente los 6 numeros


[...]
>
> -segun yo- la forma mas facil, rapida, sencilla [y ademas... 'azarosa']
es...
> 'generar' los seis numeros [entre 1 y 49] 'al azar' con la funcion
aleatorio.entre y...
> 'separarlos' por alguna cadena de caracteres [como p.e. un punto] ;)
>
> prueba la siguiente formula [es en una sola linea y 'mi' separador de
argumentos es la coma]
> =Aleatorio.Entre(1,49)&"."
> &Aleatorio.Entre(1,49)&"."
> &Aleatorio.Entre(1,49)&"."
> &Aleatorio.Entre(1,49)&"."
> &Aleatorio.Entre(1,49)&"."
> &Aleatorio.Entre(1,49)
>
> saludos,
> hector.


Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida