Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Restricting a Random Query?

20 views
Skip to first unread message

NolChannel

unread,
May 22, 2012, 11:45:21 PM5/22/12
to

I'm having a little trouble with the random function.

In the first line, I want a random integer between 1 through 4, easy
enough.

In the second line, and every line thereafter, I want a random integer 1
through 4... however, I do not want an 'opposing number'. I can roll 1
twice in a row, but if I roll '1' I cannot roll '2', and vice versa. 3
and 4 are also opposites.

Help?




--
NolChannel

James Ravenswood

unread,
May 23, 2012, 8:18:09 AM5/23/12
to
Define "opposite"

zvkmpw

unread,
May 27, 2012, 5:26:46 PM5/27/12
to
I put these constants in B1:E3 to help:
1 2 1 1
3 3 2 2
4 4 3 4
The first of these columns has the acceptable values that aren't opposite "1".
The second of these aren't opposite "2", etc.

In A1, I put
=RANDBETWEEN(1,4)

In A2, I put
=OFFSET(A$1,RANDBETWEEN(0,2),A1)
and copied this formula down column A. This chooses an acceptable value at random from the correct column as determined by the preceding value.

It seems to work, if I understand the problem.

Hope this helps.

zvkmpw

unread,
May 27, 2012, 6:46:19 PM5/27/12
to
> I put these constants in B1:E3 to help:
> 1 2 1 1
> 3 3 2 2
> 4 4 3 4
> The first of these columns has the acceptable values that aren't opposite "1".
> The second of these aren't opposite "2", etc.
>
> In A1, I put
> =RANDBETWEEN(1,4)
>
> In A2, I put
> =OFFSET(A$1,RANDBETWEEN(0,2),A1)
> and copied this formula down column A.

We can do without the 3x4 table of helper constants.

Using the same logic, it's enough to put in A1:
=RANDBETWEEN(1,4)
then put in B1
=CHOOSE(3*A1-RANDBETWEEN(0,2),1,3,4,2,3,4,1,2,3,1,2,4)
and copy down.
0 new messages