Home |
Search |
Today's Posts |
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Instructions for calculating the median froma frequency distribution tend to
rely on a visual interpretation of the frequency distribution. I have hundreds of frequency distributions that I want to calculate the median for. Can I automate the calculation of the median directly using code or do I need to transform the distribution temporarily into its original array then calc? I can provide examples if necessary. thanks. |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hi Alaska
I think this would work if you placed your array in column A. It uses the formula (n+1) /2 as the estimator for the median Dim datarange As Range Range("A1").Select Range(Selection, Selection.End(xlDown)).Select Selection.Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _ DataOption1:=xlSortNormal Dim datarange As Range Set datarange = Selection k = datarange.Rows.Count + 1 k = k / 2 Range("a1").Select For x = 1 To k ActiveCell.Offset(1, 0).Select Next MsgBox (" THE MEDIAN IS ") & ActiveCell.Value Hope this helps Best N10 "Alaska Hydro" wrote in message ... Instructions for calculating the median froma frequency distribution tend to rely on a visual interpretation of the frequency distribution. I have hundreds of frequency distributions that I want to calculate the median for. Can I automate the calculation of the median directly using code or do I need to transform the distribution temporarily into its original array then calc? I can provide examples if necessary. thanks. |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Thanks N10 - your formula would work for an array - alas I have frequency
distributions that look like this: class (mm) count 1 11 2 6 4 2 8 6 16 1 32 21 64 35 128 11 256 0 512 7 1024 0 2048 0 4096 0 8192 0 The count category represents the number of hits in a particular class. Were this an array it would look like: 1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,4,4,... ...,512 with an n of 100. The median value falls in the 64 category. One thought I had would be to write the distribution back into an array temporarily - calculate the median as you so helpfully wrote below, then delete the temporary array and continue to the next set. It might be nicer to have it work on the distribution itself though. thanks. "N10" wrote: Hi Alaska I think this would work if you placed your array in column A. It uses the formula (n+1) /2 as the estimator for the median Dim datarange As Range Range("A1").Select Range(Selection, Selection.End(xlDown)).Select Selection.Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _ DataOption1:=xlSortNormal Dim datarange As Range Set datarange = Selection k = datarange.Rows.Count + 1 k = k / 2 Range("a1").Select For x = 1 To k ActiveCell.Offset(1, 0).Select Next MsgBox (" THE MEDIAN IS ") & ActiveCell.Value Hope this helps Best N10 "Alaska Hydro" wrote in message ... Instructions for calculating the median froma frequency distribution tend to rely on a visual interpretation of the frequency distribution. I have hundreds of frequency distributions that I want to calculate the median for. Can I automate the calculation of the median directly using code or do I need to transform the distribution temporarily into its original array then calc? I can provide examples if necessary. thanks. |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Median calculation of grouped data. | Excel Worksheet Functions | |||
Automate calculation... | Excel Worksheet Functions | |||
Median Calculation | Excel Worksheet Functions | |||
median calculation | Excel Discussion (Misc queries) | |||
Median calculation and ignore zeros | Excel Discussion (Misc queries) |