Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hi I have 2 columns as below..
Col A Col B Ref# | Name 4565 | ABC 6585 | ABC 4314 | ABC 5648 | MNO 6546 | MNO 8974 | XYZ 1346 | MNO 6584 | XYZ 1366 | ABC 4985 | XYZ 1346 | XYZ 5456 | XYZ I want to pick Ref# randomly on an average. Say, in column B there are 40 ABC, 55 MNO, 80 XYZ, 10 PQR and so on.. Then I need to pick a total on 20 ref# where I have ref# from all the Names on an average. |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Interesting question. In C1 enter:
=RAND() and copy down Pick another column, say E. In E1 enter: =A1 In E2 enter: =IF(COUNTIF($B$1:B2,B2) 1,"",A2) and copy down. we see: 4565 ABC 0.649004509 4565 6585 ABC 0.084606441 4314 ABC 0.131187935 5648 MNO 0.608040285 5648 6546 MNO 0.774962504 8974 XYZ 0.118081037 8974 1346 MNO 0.885189386 6584 XYZ 0.656284418 1366 ABC 0.580591399 4985 XYZ 0.199459732 1346 XYZ 0.105358721 5456 XYZ 0.939330574 As you see, column E "picks" a sample from each Ref#. Always the first sample. But we sant a random sample so sort columns A thru C by C: 6585 ABC 0.658213589 6585 1346 XYZ 0.323008196 1346 8974 XYZ 0.043325857 4314 ABC 0.526986275 4985 XYZ 0.970380988 1366 ABC 0.037955305 5648 MNO 0.743534431 5648 4565 ABC 0.376891038 6584 XYZ 0.007517221 6546 MNO 0.462970369 1346 MNO 0.71457043 5456 XYZ 0.474824674 Now the data in column E is a random sample of the data in column A, one sample for each Ref# -- Gary''s Student - gsnu200832 "Kashyap" wrote: Hi I have 2 columns as below.. Col A Col B Ref# | Name 4565 | ABC 6585 | ABC 4314 | ABC 5648 | MNO 6546 | MNO 8974 | XYZ 1346 | MNO 6584 | XYZ 1366 | ABC 4985 | XYZ 1346 | XYZ 5456 | XYZ I want to pick Ref# randomly on an average. Say, in column B there are 40 ABC, 55 MNO, 80 XYZ, 10 PQR and so on.. Then I need to pick a total on 20 ref# where I have ref# from all the Names on an average. |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hi,
Proportional number of items must come from each group (proportional to the total size of each group) - Kashyap "Gary''s Student" wrote: Interesting question. In C1 enter: =RAND() and copy down Pick another column, say E. In E1 enter: =A1 In E2 enter: =IF(COUNTIF($B$1:B2,B2) 1,"",A2) and copy down. we see: 4565 ABC 0.649004509 4565 6585 ABC 0.084606441 4314 ABC 0.131187935 5648 MNO 0.608040285 5648 6546 MNO 0.774962504 8974 XYZ 0.118081037 8974 1346 MNO 0.885189386 6584 XYZ 0.656284418 1366 ABC 0.580591399 4985 XYZ 0.199459732 1346 XYZ 0.105358721 5456 XYZ 0.939330574 As you see, column E "picks" a sample from each Ref#. Always the first sample. But we sant a random sample so sort columns A thru C by C: 6585 ABC 0.658213589 6585 1346 XYZ 0.323008196 1346 8974 XYZ 0.043325857 4314 ABC 0.526986275 4985 XYZ 0.970380988 1366 ABC 0.037955305 5648 MNO 0.743534431 5648 4565 ABC 0.376891038 6584 XYZ 0.007517221 6546 MNO 0.462970369 1346 MNO 0.71457043 5456 XYZ 0.474824674 Now the data in column E is a random sample of the data in column A, one sample for each Ref# -- Gary''s Student - gsnu200832 "Kashyap" wrote: Hi I have 2 columns as below.. Col A Col B Ref# | Name 4565 | ABC 6585 | ABC 4314 | ABC 5648 | MNO 6546 | MNO 8974 | XYZ 1346 | MNO 6584 | XYZ 1366 | ABC 4985 | XYZ 1346 | XYZ 5456 | XYZ I want to pick Ref# randomly on an average. Say, in column B there are 40 ABC, 55 MNO, 80 XYZ, 10 PQR and so on.. Then I need to pick a total on 20 ref# where I have ref# from all the Names on an average. |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hi,
proportional number of items must come from each group (proportional to the total size of each group) "Gary''s Student" wrote: Interesting question. In C1 enter: =RAND() and copy down Pick another column, say E. In E1 enter: =A1 In E2 enter: =IF(COUNTIF($B$1:B2,B2) 1,"",A2) and copy down. we see: 4565 ABC 0.649004509 4565 6585 ABC 0.084606441 4314 ABC 0.131187935 5648 MNO 0.608040285 5648 6546 MNO 0.774962504 8974 XYZ 0.118081037 8974 1346 MNO 0.885189386 6584 XYZ 0.656284418 1366 ABC 0.580591399 4985 XYZ 0.199459732 1346 XYZ 0.105358721 5456 XYZ 0.939330574 As you see, column E "picks" a sample from each Ref#. Always the first sample. But we sant a random sample so sort columns A thru C by C: 6585 ABC 0.658213589 6585 1346 XYZ 0.323008196 1346 8974 XYZ 0.043325857 4314 ABC 0.526986275 4985 XYZ 0.970380988 1366 ABC 0.037955305 5648 MNO 0.743534431 5648 4565 ABC 0.376891038 6584 XYZ 0.007517221 6546 MNO 0.462970369 1346 MNO 0.71457043 5456 XYZ 0.474824674 Now the data in column E is a random sample of the data in column A, one sample for each Ref# -- Gary''s Student - gsnu200832 "Kashyap" wrote: Hi I have 2 columns as below.. Col A Col B Ref# | Name 4565 | ABC 6585 | ABC 4314 | ABC 5648 | MNO 6546 | MNO 8974 | XYZ 1346 | MNO 6584 | XYZ 1366 | ABC 4985 | XYZ 1346 | XYZ 5456 | XYZ I want to pick Ref# randomly on an average. Say, in column B there are 40 ABC, 55 MNO, 80 XYZ, 10 PQR and so on.. Then I need to pick a total on 20 ref# where I have ref# from all the Names on an average. |
#5
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
"Kashyap" wrote:
.. proportional number of items must come from each group (proportional to the total size of each group) Here's a formulas model which delivers it .. Source data as posted assumed in A2:B13 In C2, copied down: =COUNTIF(B$2:B2,B2) Create the reference weightage table List the unique names in E2:E4 : ABC MNO XYZ In F2: =COUNTIF(B:B,E2) In G2: =F2/SUM(F$2:F$4) In H2: =SUM(G$2:G2) Copy F2:H2 down to H4 H2:H4 serves as the cumulative weightage range, ie the reference for the proportional aspect that is sought Assume we want to pick 5 ref#s In J2, copied to J6: =RAND() Then In K2, normal ENTER to confirm: =INDEX(E$2:E$4,MATCH(TRUE,INDEX(H$2:H$4J2,),0)) In L2, normal ENTER to confirm: =RANDBETWEEN(1,INDEX(F$2:F$4,MATCH(K2,E$2:E$4,0))) In M2, normal ENTER to confirm: =INDEX(A$2:A$13,MATCH(1,INDEX((B$2:B$13=K2)*(C$2:C $13=L2),),0)) Copy K2:M2 down to M6 Some explanations - what's happening: 1. Col J generates the core randomizations 2. Col K then picks up the names based on the cumulative weightage ranges that the random nums generated in col J fall within 3. Since each name is associated with a number of ref#s, col L serves to random pick from amongst the ref#s for any particular name, going by the counts of the ref#s in F2:F4 which is used as the upper limit in randbetween. Col L randomizes the relative serial numbers for the ref#s associated with that name. 4. Col M then returns the required final outputs, ie the ref#s based on the dual criteria randomized in cols K & L Press F9 to regenerate .. It is possible that repeat ref#s are generated in the output range as the number of ref#s associated with each name is quite small in the sample data (ie the Randbetween's range is small). Do a high-five if above helped in any way, press the YES button below -- Max Singapore http://savefile.com/projects/236895 Downloads:23,000 Files:370 Subscribers:66 xdemechanik --- |
#6
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Slight errata:
In K2, normal ENTER to confirm: =INDEX(E$2:E$4,MATCH(TRUE,INDEX(H$2:H$4=J2,),0)) "=" instead of "" -- Max Singapore http://savefile.com/projects/236895 Downloads:23,000 Files:370 Subscribers:66 xdemechanik --- |
#7
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Here's a nice working sample to demonstrate the suggested set-up:
http://freefilehosting.net/download/4575g Weighted Randomization Model.xls -- Max Singapore http://savefile.com/projects/236895 Downloads:23,000 Files:370 Subscribers:66 xdemechanik --- |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Pick Ref# randomly on an average | Excel Worksheet Functions | |||
randomly pick a number from a set of predetermined numbers | Excel Discussion (Misc queries) | |||
Can Excel randomly pick one winner out of 100 contest entries? | Excel Discussion (Misc queries) | |||
Array Formula to Pick Average | Excel Discussion (Misc queries) | |||
Making pick list conditional on selection from previous pick list | Excel Discussion (Misc queries) |