Averaging From Multiple Worksheets Within A Workbook
May 13, 2008
I'm trying to do some averages for a year to date "cover" sheet. Worksheet 2 is Jan, Worksheet 3 is Feb, etc..through December. Worksheet 1 is the year to date averages. My data is a formula on each worksheet in cell B22, I thought I had the function written correctly however Excel won't take it:
There are blanks,of course, until each month is filled in. Could it be because the number that is in B22 on each worksheet is the result of a formula instead of typed number
I'm struggling to find 3 formulas/solutions for the table above:
1) I'm looking for a way to find the people's names from column B in all 10 worksheets on the doc. and average the values associated to that name. These values are found in column D on each of the worksheets.
2) I would also like to be able to find the lowest and highest values that are entered in column D from the 10 worksheets for each person.
3) I would like to count the number of 1's for each person in column F from the 10 worksheets. I would do the same for the number of 2's and 3's, as you can see from the table above.
I have a task to complete that requires me to extract worksheets from hundreds of workbooks and consolidate them into one "master" workbook. Out of the hundreds of workbooks, there is only one worksheet that I need to extract from each. The worksheet's name is "CostData". Once I have all the worksheets in one workbook, I will have to create buttons that will be able generate reports and charts based off the data in the worksheets. This will assist in determining cost comparisons, trends, and predictions. I am sure something like this has been done before, so can someone please help me out! Is there any code out there that can do this?
I would like to be able to use VBA to add a total amount from different worksheets. What I have attached is a copy of my workbook. It is a blank PO and at the bottom is the word total. Is there any way that I could use VBA or an add in to be able to sum the numbers that are adjacent to the word total on separate worksheets?copy.xlsm
I have about 30 Excel files, each with multiple tabs. Each file has a tab called "Invoice." I would like to create one workbook with all 30 Invoice tabs. As of not I am manually copying and pasting, which takes a while. There has to be an easier way, and I found this VB script to combine entire workbooks.
Is there any way I can run this and get just that Invoice tab and not all tabs on all files?
Sub GetSheets() Path = "C:UsersdtDesktopdt kte" Filename = Dir(Path & "*.xls") Do While Filename <> "" Workbooks.Open Filename:=Path & Filename, ReadOnly:=True For Each Sheet In ActiveWorkbook.Sheets Sheet.Copy After:=ThisWorkbook.Sheets(1) Next Sheet Workbooks(Filename).Close Filename = Dir() Loop End Sub
I am trying to optimize my code below. It works but it is soo slow, it seems to slow down on the array copy and paste special areas. I believe this is because its doing a cell to cell paste method. These sheets have data as well as graphs that i want to retain on the new sheet, but i could select ranges for each each if that would speed up this procedure.
Code:
Sub CreateDataSheet() Dim ws As Worksheet Dim sDataOutputName As String With Application .Cursor = xlWait .StatusBar = "Saving DataSheet..." .ScreenUpdating = False
I have groups of folders that I need to extract "Sheet2" from each workbook and assemble them into one workbook. Along the way I want to rename the sheets to the file name (-xls). I have assembled this code so far but it is broken
Code:
Sub CombineSheets() Dim sPath As String Dim sFname As String Dim wBk As Workbook Dim wSht As Variant
I am trying to find a formulae that will sit in a summary sheet and lookup all of the worksheets in a workbook ( approx 80) for a particular individual's name and calculate the total amount paid.
The spreadsheet lists cash amounts by person for each week of the year. the individuals change, as they come and go during the year but the format of the spreadsheet remains the same.
I have attached the summary sheet and a few of the additional sheets. My formulae have fallen apart as I have been adding each person in manually, but I hope it will still be clear.
For worksheets 3 though to worksheet 9 and only columns D, E, F, G, H , I and J, and only rows 4 through to 35 auto update from a source workbook
Note 1: - as you will see in Wookbook A in the attached demo test zip file that row range 4 to 35 varies on each worksheet as the number of towns columns varies on each worksheet. So on one worksheet it might be row 4 to row 12 requiring update whereas on another worksheet it could be row 4 to up to row 35.
Note2: –the source workbook is a closed /non active workbook on another server in my network –path is X/sourcefiles/weeklydate/countfile.xls. In the source workbook the source is sheet 1.
Only update when there is a match of string of the place location name which are ALL listed in column C of the source worksheet –matched to that of string place location names in workbook A in their respective worksheets 3 through to worksheet 9. Then when there is a match – copy the content of the cells that correspond to the place location names in the source workbook (countfile.xls) from the columns D, E, F, G, H, I, and J.
Note 3. The way in which the source countfile works is that each week it will be updated with values/figures starting with column D in week 1 and column E in week 2 and column F in the third week and so on…..In the first week only column D will have values/ figures and the other columns will be empty – and second week only columns D and E will have values/figures – to make the code easy it would be OK to copy across the other columns when they are empty – thus leaving the other columns in workbookA also empty. So in week two when workbook A is opened and is updated from the source file with values/figures for workbook A’s columns D and E of worksheets 3 through to 9 the other columns F, G H, I and J on those worksheets would have only be empty cells or just not updated at all –as the source file at that time would have had only two weeks of figures entered.
Also copy across the column headings in row 4 for columns D, E, F, G, H, I , and J as those headings may change as they are dates.
The final bit that is important part of this is that as worksheet A is updated the formula in column K it will need to auto update as well as it is the initial figures in column D minus the figures in the most recent column updated – so if column G is updated today the formula needs to be =D5 – G5 and =D6-G6 and so on whereas when updated next week the formula would need to change to =D5 – H5 and =C6-H6 and so on.
I have a workbook that has five worksheets listing warehouse inventory items. One worksheet for 2013, 2012, 2011, 2010 and 2009. In column b of each worksheet is a column B with a heading of "Item Number". There are hundreds of item numbers on each worksheet.
I would like to be able to find and highlight item numbers that appear in multiple years. Preferably color coded showing appears in five, four and three years. If that's too difficult than just items that appear in all five years. I tried conditional formatting, but have been unsuccessful.
Lastly, is there a way to list any duplicate item numbers on a new worksheet.
I have a userform which loads the data into a worksheet named "Data" which is being used as a database for an event scheduler. I also load a calendar from a worksheet named "Month" so I need the information from the userform "UForm01" added to 2 worksheets.
The userform adds a series of textboxes to worksheet "Data" in the first open row. I also need certain textboxes from the Userform to be added to another worksheet to populate the calendar.
I have five excel separate excel files containing values covering more than 500,000 rows each. I want to put then in a single excel workbook without tedious work of copy/paste to sheets of this workbook.
l need to consolidate up to 3 columns of data from a varied number of worksheets within the same workbook. The sheets are (format/layout) structured in the same way. The columns need to get added next to each other in the consolidation sheet.
I have a master workbook with 20 worksheets. 5 worksheets in the worksbook are distributed to field reps, but the remaining 15 worksheets are not. What is the best practice for receiving the 5-worksheet workbook from the field rep and importing the data into the 20-worksheet master workbook? If I merely use Copy Sheet I am able to copy the worksheets into the master workbook but then I have to remove the pathname references in each of the copied worksheets in order to map the data in the master workbook - which is quite cumbersome.
I have a workbook that's setup like a form, with 30+ worksheets in it (lets say this file is called "source.xlsx"). I have information in specific cells I want pulled out in each worksheet and brought in to a new workbook called "Destination.xlsx" and listed in a row.
I inherited a price list workbook made up of multiple worksheets (some 30 pages). Each year the new prices (including % increase) are calculated by a formula in the row below each price (100's of rows and formulae).
Thus: C1 might say £10 D1 says =C1+(C1*2.5%) £10.25 (it actually does some rounding too) etc
It may seem odd having both rows but MD can see the before and after. The new price 10.25 must however be manually copied to C1 to avoid circular referencing and then D1 row hidden. Very laborious to repeat 100's of times.
Is there a way of first copying the entire workbook for the new year (easy) then by means of a macro looping through each formula cell of all sheets in workbook 1 and pushing the result to the new workbook and to the correct sheet and then to the same location but to the cell above. e.g. pushing £10.25 from D1 of sheet 1 workbook 1 to C1 of sheet 1 workbook 2 to become the new price for the coming year?
Im trying to copy multiple workbooks and just save it into only one worksheet. I have 2000 diffrent workbooks with the diffrent amount of rows, The ammount of cells is the same and it dosent change.
im working on a excel 2010
This is what i got for the moment..
Sub LoopThroughDirectory() Dim MyFile As String[code].....
I have what is probably a simple request to all the VBA experts out there, and simply want to take a template sheet in a workbook and copy it across to 100 sheets numbered/named 101 -200, and add the name of each sheet as a text reference, e.g. sheet name 101 will have a cell within the worksheet that refers to sheet 101.
I have attached a simplified spreadsheet which indicates what i'm trying to achieve.
I have a dataset consisting of concentrations of parameters (alpha and beta) at different locations over multiple years. I've included an example dataset here.
I need to calculate an average and standard deviation for each parameter that spans multiple locations and years (but not all locations and years).
Example 1: Calculate the average and standard deviation of alpha values from years 2009 to 2012 at locations A and C.
Answer should be: Average of {0.84, 0.47, 0.27, 0.14, 0.36, 0.65, 0.66, 0.85} is 0.53. Standard deviation of {0.84, 0.47, 0.27, 0.14, 0.36, 0.65, 0.66, 0.85} is 0.26.
The real dataset is large, including 7 different parameters and more than 30 locations. I need to perform these calculations for many parameters, so am looking for a formula (or array formula) that will do this in as little cells as possible. Can this be done by formula or will I need a macro?
I am looking for a formula that averages the numbers in an array if they match the row and column text-based criteria. Based on another thread, I found and edited the following formula. However, it is giving me incorrect numbers.
I am a teacher creating a grade book in Excel. Each student is in a single row, with columns for the various assignments. For data analysis purposes, I am trying to develop formulas to make two different calculations.
The first calculation is simply the average quiz grade for all students, for all quizzes.
The second calculation is the average quiz grade for all grades that are higher than zero. This will tell me the average quiz score for quizzes that have actually been attempted.
I do need to track students that have withdrawn from the class, so column A will contain the letter "w" if the student has withdrawn from the class. If the student has withdrawn, the grades for that student should be ignored in the calculations.
Since I do accept quizzes after their due dates, a particular quiz score will have an entry of "L" if it has not yet been taken. These entries also need to be ignored in the calculations.
See the attached workbook for some sample data and the expected results.
I am trying to compile a spreadsheet for my job that will find an average of all the break times and meal times that all the employees take. I have the employee list and their respective timeclock punches for the week, so I took that and found their meal and break times for each individual day, but I'm having trouble when it comes to consolidating and averaging the data. The first column lists the employees, but their names are repeated depending on how many times they punched the clock that week, and since not every punch was a meal or break, my time columns contain a lot of zeroes that aren't needed. I need a way to just average each employees' meal and break times.
Basically, i have a common workbook template that is used by multiple users across the business to request a cost for numerous new products.
Within the template, there is a common section at the top, where specific project information is entered. There is also a table beneath where 1 or many products can be entered, with specific information relating to that product in the same row.
All the submitted requests are uploaded via an email attachment, to a particular sharepoint directory.
What i would like to do in the master workbook is the following:-
1. Open in turn every uploaded workbook within the sharepoint directory and copy the following cells into the master workbook, each in it's own row (or next available), with the data in adjacent cells.... 1st cell to enter data is $B6.
Cells to copy from each sheet:
Common info contained within cells: $DG$2,$N$11,$N$12,$N$19,$N$13,$AO$7,$AO$8,$AO$9,$AO$10,$AO$11,$AO$12,$AO$12,$AO$13,$AO$14,$BO$8,$BO$11,$BO$14
Product specific info: $U37, $AD37, $AH37, $DH37, $C37, $O37
Depending on the number of products requested, we need to repeat (loop?) until it finds the next blank row in the table. I have hidden a blank row in the table, so there will always be one!
All of the common information needs to be included for each product specific entry.
For each file, once the upload has been completed, i would like the file to be moved to another "archive" directory.
I have attached the template for information. The master workbook is still in development so can't share currently.
I have data for 500 companies over 10 years, in three criterions: “EPS”, “DPS” & “PX” (i.e. earnings, dividends and price).
For each company I have four lines recording the data, and given a letter code indicating how the change in dividends and earnings have been according to the following
(Examples) DD-ED = Dividends Decreased & Earnings Decreased ND-EI = No Dividends & Earnings Increased As can be seen below this code is present for each company
What I need help with is some sort of lookup function which takes the average of the price changes (which is given in numerical values) only for the companies which code is equal to the code in the reference field.
So something like: =AVERAGE(IF((MOD(ROW(D2:D2353)-ROW(D2)+1,5))=0,IF(D2:D2353"",D2:D2353))) (currently counting every 5th line, since there is 4 lines between respectively PX/DPS/EPS for each company) –But with a constraint indicating only to include the value in the calculation if the codes are the same (e.g. "DI-EI" = "DI-EI").
So that the value, which is currently 20.96% (which now includes ALL price values), would only include those for the respective group (in this case, companies in the DE-EI group).
I need to calculate the average spend on a day of the week over the month, so all Monday's or all Tuesday's, etc. One sheet is one week so I need to average b16 on 6 sheets as an example.
I used =AVERAGE('WEEK1:WEEK6'!B18) to calculate average over the six Monday's. The issue is, as in other posts, how do I ignore the cells that have a zero or null value.
I've tried adjusting this which was in 1 post =AVERAGE(IF($C$2:$CA$2=C62,IF($C$25:$CA$25"",$C$25:$CA$25 with this =AVERAGE(IF(1+1=2,IF('WEEK1:WEEK6 '!B180,'WEEK1:WEEK6 '!B18))) which returns #REF!
this from another post =SUM('WEEK1:WEEK7 '!B18)/COUNTIF('WEEK1:WEEK7 '!B18,"0") which returns #VALUE!
and this =AVERAGE(IF('WEEK1:WEEK7 '!B180,'WEEK1:WEEK7 '!B18)) which returns #NAME?
The cells on each sheet are sum formulas for other cells on the sheet not just numbers on their own.
Im am trying to create a search marco button that allows me to search in multiple worksheets in one work book. I came across this CODE the first part of it works. It pops open user input box and ask for the word that i would like to search but the this error message pops up Runtime error1004 Method 'range" of object'_Global'failed and i dont know what to do
Private Sub SearchButton_Click() SearchString = InputBox("Enter Search String", "Search") If SearchString = "" Then Exit Sub For Each c In Range(myRange) If InStr(LCase(CStr(c)), LCase(SearchString)) Then