Solved

Random classification of records

Posted on 2014-04-07
8
84 Views
Last Modified: 2014-04-09
Hello, I would like to randomly classify each of the attached 201 data records into one of 5 groups. Four of the groups will contain 40 records, and a fifth group will contain 41 records.

The group number (1-5) should be contained in column C.

Does anyone have a suggestion on how to randomly generate these five groups?

Many thanks in advance.
RandomClasses.xlsx
0
Comment
Question by:dougf1r
  • 5
  • 3
8 Comments
 
LVL 7

Expert Comment

by:COACHMAN99
ID: 39984338
if you place the formula in a spare column and recalc the sheet, you should be close.
RANDBETWEEN( 1, 5 ),
you should then sum each assignment (1-5) to ensure you have a balanced distribution.
0
 
LVL 1

Author Comment

by:dougf1r
ID: 39984352
How can this be modified such that I have 4 equal-sized groups (n=40) and one group with n=41?
0
 
LVL 7

Expert Comment

by:COACHMAN99
ID: 39984362
Without running a small macro, populating each cell, and keeping a running total, I don't know. The above will be close.
Do you have to repeat this, or is it a once-off?
0
 
LVL 1

Author Comment

by:dougf1r
ID: 39984393
I will need to repeat this.

A small macro does seem that it would be most helpful. I am unsure of the proper code to carry this out.

Might someone be comfortable putting this code together?
0
6 Surprising Benefits of Threat Intelligence

All sorts of threat intelligence is available on the web. Intelligence you can learn from, and use to anticipate and prepare for future attacks.

 
LVL 7

Expert Comment

by:COACHMAN99
ID: 39984467
try this (you will need to add the vba-addin
In Excel, install the Analysis toolpack -VBA from Tools Addins.
Then in VBA, click Tools - References and put a checkmark on atpvbaen.xls
The problem with this is if you share your book, the other person must also have the analysis toolpack-vba addin installed.

Sub PopVals()
Dim vval As Long
Dim counts(5) As Long
x = 1
While x <= 201
  vval = WorksheetFunction.RandBetween(1, 5)
  Worksheets("Sheet2").Cells(x, 3) = vval
  vval = vval - 1
  If counts(vval) < 51 And vval < 5 Then
    counts(vval) = counts(vval + 1)
    x = x + 1
  End If
  If counts(vval) < 52 And vval = 5 Then
    counts(vval) = counts(vval + 1)
    x = x + 1
  End If
Wend

End Sub
0
 
LVL 7

Expert Comment

by:COACHMAN99
ID: 39984485
The above isn't correct - please wait for a better response - I have to go.
0
 
LVL 7

Accepted Solution

by:
COACHMAN99 earned 500 total points
ID: 39984747
Here you go:
Sub PopVals()
Dim vval As Long
Dim counts(5) As Long
x = 1
Range("C1:C201") = ""
While x <= 201
  vval = WorksheetFunction.RandBetween(1, 5)
  Worksheets("Sheet2").Cells(x, 3) = vval
  vval = vval - 1
  If counts(vval) < 40 And vval < 4 Then
    counts(vval) = counts(vval) + 1
    x = x + 1
  End If
  If counts(vval) < 41 And vval = 4 Then
    counts(vval) = counts(vval) + 1
    x = x + 1
  End If
Wend

End Sub
0
 
LVL 1

Author Comment

by:dougf1r
ID: 39990166
Works perfectly. Many thanks!
0

Featured Post

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

Join & Write a Comment

Convert between Excel file formats (.XLS, .XLSX, .XLSM) with/without macro option David Miller (dlmille) Intro Over this past Fall, I've had the opportunity to see several similar requests and have developed a couple related solutions associate…
This tutorial explains how to create a series of drop-down lists that are dependent upon prior selections to guide (“force”) the user to make the correct selection and reduce data errors within Microsoft Excel. Excel 2010 was used for this tutorial;…
The viewer will learn how to simulate a series of coin tosses with the rand() function and learn how to make these “tosses” depend on a predetermined probability. Flipping Coins in Excel: Enter =RAND() into cell A2: Recalculate the random variable…
The viewer will learn how to use a discrete random variable to simulate the return on an investment over a period of years, create a Monte Carlo simulation using the discrete random variable, and create a graph to represent the possible returns over…

758 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

17 Experts available now in Live!

Get 1:1 Help Now