Calculate Weighted Averages Using High, Medium, Low

Dec 31, 2008

On another thread I found a solution to creating a weighted average given a pair of columns of numbers but I have column B consisting of values given as High, Medium and Low and the weighted column C of 1, 2 or 3.

How can I use the formula below to accomplish this, or is this maybe not the right way to created a weighted average?

I am trying to calculate final grades with weighted averages. However for the final grade I need to drop the lowest of the test grade which come after the bold line to the right, making the total relative weight of Tests, the weight of 2 tests. How would I go about calculating that with a SumProduct formula? I do not need to drop grades from B4:K4, however from L4:N4 I need to drop the lowest grade for my final grade, which needs to be rounded to the nearest integer. The relative weight of each assignment is given in Row 1.

I created an Excel tool into which really thousands of records are based on weighted averages calculations. And discovered Excel struggling in term of permormance.

The issue is: the user needs to uploads a couple of times in a day new data for further analysis, and the only way to make the Excel spreadsheat humanely usable (performance) was to calculate everything upfront.

To optimize the tool performance, I had to:

- First I made all weighted average calculations upfront when data is uploaded the first time. Leaving formulas in the tool was not viable, since this tool run live analysis, every click would have been a pain of 30 sec at best to re-calculate new conditions,

- Second optimization was to not leave formulas into columns > as soon as a calculation is done, the macro copy/paste values

The formula I chose is sumproduct based weighted averages..

Here is my question:

1. Does it exits specific formulas in Excel to handle nicely large amount of weighted averages to calculate ?

2. Should I consider to use an external application (an Access table, SQL or whatever) to perform those weighted average calculations quickly/quicker.

DATA: D1:D11 contains either blank cells or a dollar figure from a payroll check. E1:E11 contains either blank cells or the date of the check.

Current Situation: Using the following formula I obtain a weighted average of the pay checks, not including the largest. =(SUM(D1:D11)-MAX(D1:D11))/(COUNT(D1:D11)-1)

Problem: I desire to calculate the weighted average based on the checks issued only prior to a certain date. I have used SUMIF() in other parts of the workbook successfully but needing to withold the largest value has presented me with a problem I can not find a solution to. =SUMIF((E1:E11,">="&TargetDate,D1:D11)-MAXIF(E1:E11,">="&TargetDate,D1:D11))/COUNTIF(E1:E11,">="&TargetDate,D1:D11)

I am looking for a way to get a weighted average to work without the need of helper columns, when my weights are stored in one range, and the actual values are stored in another range, but might not be sorted in the same fashion.

For example; range 1 might be:

Weight Homework 120% Pre-Exam 30% Exam 50%

But the range for student's scores might be in a slightly different order:

Scores Exam 90 Pre-Exam 72 Homework 1 81

(Note that this is a greatly simplified example and that just resorting would be impractical).

I have a spreadsheet that tracks productivity for various parts being made basically pcs made per hour against how many pcs should be made per hour shown in a percentage of 100 percent

For example: Part ABC - ran 450 pcs per hour. The rate is 9500 so it ran at 4.74% of the goal

The machine runs about 50 parts.

They had me create a sheet/chart to graph productivity. They told me to just take an average of all the percentage rates the individual parts are running at.

I believe this is where a 'weighted average' should come into play? Taking an average of all those averages is not going to give an accurate overall productivity percentage is it?

How would I go about making a 'weighted' average (if that is indeed necessary) to get an accurate productivity percentage?

I have an interesting problem (I hope you find it interesting too). I'm trying to find the historical "high" day of the week for a particular stock I follow. I searched for several hours but was honestly unable to make any progress. Normally I do my own formulas, so other than pasting a rare macro, that's pretty much the extent of my (lack of) experience, ie please assume I am a novice....

In my spreadsheet (testing.xls) I have a chart to mark the quality of a phone call based on a list of 8elements being judged. I have a likert scale for the quality result for each element, say for example 5 for highest, 3 for average, 1 for the poor, 0 for very poor and NA for an element which is not counted.

At the bottom of my table I have a cell where it would work out the % based on the outcome of the result from the different cells being ticked, what would i need to do to have excel work this out for me? Please bare in mind that if there is for example 1 element out of the 8 elements marked as NA the result would be divided 7 instead of 8.

I am trying to calculate a weighted average and have used a sum product to do so. My problem is that the values decrease over time and I have done this in cells d13 and e13 and this seems to work ok. My problem is that I have many months so I don't want to use the formula this way as it will be very long. I tried to use sum and offset to try and effectively sum each row but this doesnt work.

I have 3 columns (B,D,F) that have 15 minute data intervals and I need to calculate the hourly averages for each column but here is the catch, I need to do this from July-1-2011 00:00:00 to Sept-31-2011, 24:00:00 (that's 26,217 data points and 6,554 =average() calculations......

IS there syntax I could use that would calculate the average every 4-cells so I could get the hourly average without having to type =average(XX:XX) 6,554 times?

I am wondering if there is a function in excel to calculate the average of multiple percentages. Currently I rely on the following formula to achieve this result and I am curious if there is a quicker way:

Try this formula. .....

Just today I learned there is a function to calculate the compounded return (FVSCHEDULE). It does part of what I am looking to do by taking away the PRODUCT function and the array, but does not really simplify things. Using FVSCHEDULE my function would look like ....

Situation: I need to calculate a lot of averages of non-connected values. That is, they are separated by several rows (which also contain values). So far, I use the code-sample below (just to illustrate), which is not really elegant. Unfortunately, it seems that this technique comes to its limits when a high number of different non-connected values are combined into one string and get assigned to a formula- range (last line of code), which is where the program stops.

My question is: Is there a nice way to solve this? A way, which is not limited by the amount of data processed? The only way I could think of, would include a UDF, where a sum, sums all values up and then devides by the number of added sums ... but this would be relatively slow, and I have an awful lot of values to be averaged (100 sets * 6 rows * 200 values = 120.000 calculation- steps), as well as STDEV and a Standard Error of Mean (SEM) to calculate. Is there a better alternative?

Const intCells=9 'actually, this is no constant but a variable Const i=4 'actually, this is no constant, but a nested for- loop-value Const intLinesInBetween = 12 ' amount of lines, which separate my values Dim j As Integer 'simple counter, runs through all cells Dim rngUpperRow As Range 'Range of the upper row = normalized time vector Dim rngCurrentRowAvg As Range 'current row into which avg formulas are inserted Dim intCells As Integer ' amount of experiments in range............

I wrote code that works just fine, however, I realized there were parts of the data I was using that had 0's in it for holiday.

Bottom line, this is code that calculated the weighted average of prices for 12 months (12 rows across) and Drows across. I'm trying to use the "do while is empty" approach but can't get the syntax to work. Here's the code

Code: For r = 1 To drows Totwavg = 0 Tothours = 0 priceavg = 0

Formula for computing the weighted standard deviation? I was able to calculate the weighted average (16.4) but have been unsuccessful in computing the weighted SD. I conducted numerous searches and have not been able to find a posted formula that actually works. My data are as follows:

*The reason I set up the weights the way I did is because I want to give more weight to the more recent years of shootings when comparing them to other years such as 2008, 2009, 2010 and so on.

The names are not static and can be moved, meaning that John can be 1, 2, 3, or 4 (all depending on how the name is chosen). I want to find the average on where John ranks. In this instance, he would be 2 [(1+3+2)/3].

My question is - How can I create a formula that will look for where John appears in the column (B1) and call the previous cell (A1)? This formula needs to be repeated on each column, added and averaged.

I have a first column, which contains random integers typically with gaps of between 10 to 50 blank cells. The data may have up to 5,000 rows in total.

In the next column along I would like a calculation which averages the integer in the first column out across all rows until another integer is reached in the first column.

E.g. In the first column, the first number is 60, then 9 blank cells till the next entry. In the second column the first 10 cells each contain the number 6 ( = 60/10).

I have a large sheet of daily river flows and precipitation amounts, over 40+ years.

I want to calculate the average flows in each month of each year (ie 11/1968, 12/1968, 1/1969 etc). Dates are in Col A, flows in Col D.

How to average a particular month over all years like so:

{=AVERAGE(IF(MONTH(A2:A15282)=1,D2:D15282))}

But I don't know how to average per month of each year, or how to make a formula that will allow me to quickly calculate the averages of 100s of months.

I need to do the following and can't figure it out. How do I create a running average that will only calculate the averages in % each month. Example: Opt 1 for Jan, Feb, Mar =1 each= 3 total = 100%; OPt 2 for Jan, Feb, Mar =1,0,1= 2 = 66%; Opt 3 for Jan, Feb, Mar = 0, 0, 1 = 1 total = 33%. My problems is I want monthly running average that shows the yearly percentage up to date but only for the months there is a value 1 or 0. How can this be done because the way I have it now, those % are being divided by 12 and that isn't the correct %

My problems is, and this may be sloved in excel or with VBA. What i have is a number of results, Load and displacement takes at intervals in time. An example of data is below. I will know the min, medium and max numbers for load. What i would like to do is get the last, say 4 values for the min, max and medium value

for example, with the below data, CloumnA CloumnB 1 (last value) 1 1 (last but one) 1.21 1 (2nd last) 1.2 . .etc . 210 (last value) 69.1 210 (last but one) 69 210 (2nd last) 68.9

how can i do this?

Date and time of resultLoadDisplacement 10/06/2006 12:05 10.2 10/06/2006 12:10 9010 10/06/2006 12:15 21050.........

=IF(('MAIN 3'!N54<=H52),"Light",IF(('MAIN 3'!N54>H52,N54<H54),"Medium",IF(('MAIN 3'!N54>=H54),"Heavy",""))). The first two parts work fine: =IF(('MAIN 3'!N54<=H52),"Light", IF(('MAIN 3'!N54>H52,N54<H54),"Medium", Light and Medium is displayed when I enter the appropriate range but when I enter a range that should display 'Heavy', Medium is displayed instead.

When the data is typed into the top box, I have a macro for the "enter" button that places the data into row 12.

What I really need is after the data is placed into row 12, is for the table to be sorted highest points to lowest points, and if scores are the same then in alphabetical order.

This is my macro......

Sub Results() Range("C9:E9").Select Range("E9").Activate Selection.Copy Range("C23").Select ActiveSheet.Paste Range("C9:E9").Select Range("E9").Activate Application.CutCopyMode = False Selection.ClearContents End Sub

This is for a forestry contest. Students compete in 6 different categories (columns B through G). Teams can have up to four members and the top three member scores are taken to determine a team score. Teams are then ranked. Here is where I need help. I would like to be able to find the high individual score for each category in the contest. (sawlog, pulpwood, tree ID, etc) If there is a tie in the category it is broken using the category in the column to the right. Example – sawlog 1st tie breaker is pulpwood, the 2nd tiebreaker is thinning. The last column, Compass, uses sawlog as 1st tie breaker and pulpwood as 2nd tiebreaker.

Example Will on the RHS team had a score of 112 in Tree ID and a score of 48 in thinning. Michael on the WHS team also had a 112 score in Tree ID and a score of 44 in Thinning.

So Will is the high individual in that event –

How can I create a formula that will bring the winners name down to row 66-71 and also bring the score down to row 66-71 to show who won each event? example spreadsheet attached.

I seem to find myself stuff on this project yet again, JBeaucaire was able to help me to get this far im hoping you will be able to help me with the next step of this project The doc iv attached is able to give me the differnece between low and high numbers with this example low numbers being between 1-18 and 19 – 36 high numbers and 0 being a break if u test the project u will understand im now trying to create a pattern of 3s were im abe to get stat hits on for example the patterns of 3s are the following(numbers) low,low,low-low,low,high-low,high,high-low,high,low every time I type in the numbers 3 times in a row on the 3rd one I want it to show as a hit(success) if the 3 numbers I type in are not a hit like high,high,high I want it to show me a miss if it is a pattern I want it to show a if theres a 0 it must rest like from 0miss,4hits,o breaks to 0miss,0hits,1break and so forth im also wondering if at another part of the form it can keep the total stats like iv added In the doc

I have voter registration pdf where I can open the table of info into excel when I can edit it. When I try to sort the addresses from low to high. example I have 3 main st, 20 main st, 78 main st, 300 main st. When I try to use sort to arrange them from low to high it does not work correctly do you think I am having a problem when adobe opens it to excel or am I doing something wrong?

Sorry I don't mean to bring up old post of mine but my boss wanted me to change how this works. I have placed a link to the old post of mine in hopes that it may help. Instead of having two conditions that turn green, he wanted to combine those two, have the lower turn red and the higher turn yellow. Still only three colors but I am unfamilar with how these conditional formats work.

I am analysing market data to determine when trades should take place and when they should be closed. This works well. But I need to find the intermittent high value between the dates for purchase and the closing trades, and then insert these values in column S in the attached worksheet.

I don't know if a function can find these values or if a macro is needed (or if I should amend the existing macro that currently finds the closing trades).

This macro is included in the attached spreadsheet. It Is:

picks up the drifferences between low and high numbers for example 1-10 is low 11-29 high and 0 is a alternate so say i start typing in 1,2,3,11,15 in the top cell they start decending down the rows automtically and the program has 2 boxs indicating 3 lows and 2 highs and wen i type in a 0 it resets the two boxs to 0

Suppose you have a large database, which consists of high frequency minutes data, you need to calculate differences in values between each different time intervals, e.g. from 1 min to 10000 mins.

the format is looked like below

1 min aaa 2 min bbb 3 min ccc 4 min ddd ................. ......................

More specifically, what I am supposed to do is to calculate aaa-bbb, bbb-ccc, ccc-ddd, and then aaa-ccc, bbb-ddd, and then aaa-ddd and so on.

I know the VBA has a function to do repeated executions but am not sure how to adjust the time intervals.

How to add high/low points to a line graph, similar to what sparklines have. The file I am using now doesn't allow me to add new columns of data, so I'm trying to figure something out that just updates dynamically using the data I already have in place.

This page has the thing I want to do, but it requires additional columns to be added to work, which I don't want:

I have a 46000 rows of data. I want to make a chart, but only want to plot the highest and lowest data points in the data set. How do I get Excel to automatically find and plot only the highest and lowest data points?

I have two columns of numbers (I'm going to call them Column A & Column B). There are 23 rows with these numbers. There is another column (Column C) which is also 23 rows of numbers. I am trying to find a way for a designated cell that falls between the two numbers in Column A and Column B to display the number in Column C. The numbers would work their way across the row. For example, if cell A1 had a value of 1 and B2 had a value of 10 and cell c3 had a value of .034, if the designated cell has a value of 7, I would want the cell below the designated cell to show the value of .034. I can't use the if/then function because of the 7 limit. I also can't use the vlookup because there is a range of numbers instead of an equal to.

I want to find the high value from daily data for each week and copy that value.

I have a list of daily price data, being the date, opening price, high price, low price and closing price. For each week I am finding the data necessary to create a list of the weekly opening price, high price, low price and closing price ending on each Friday.

To find the opening price I am using this formulae - =INDIRECT(ADDRESS(MATCH(J2,$A$1:$A$1400,0)+1,COLUMN(B1)))

To find the closing price the formulae is - =INDIRECT(ADDRESS(MATCH($J$3,$A$1:$A$1400,0),COLUMN(E2)))

I need to find the high value and the low value within the five days data, from two separate columns (C and D) of daily data.

Can I use a formula similar to those above, but instead of copying a relevant cell, for example, finding the high from cells B3 to B7. Then I need to do this for each subsequent week.

An example spreadsheet is attached. You will see that currently I am currently copying the Friday data in columns L and M as I don't know how to adapt the formula to do the job.

I want to know the lowest number from the peak high to the lowest low was? If I have not explained that properly, if I had 12.00% as the highest and the next few rows consistently, and gradually moved to a low of 8.00% that would be a difference of -4.00%. So -4.00% would be my answer. formula as I need to know this one number in a column of 4000+ percentages like you see above.

I've written a Fantasy Football programme, which is 100% working, however I would like to have the highscoe table update automatically, rather than using the data/sort command. E-mail me and I'll sent it to you with what I'm trying to do.