Cycle through different Rate Sheets

Falko26

Board Regular
Joined
Oct 13, 2021
Messages
101
Office Version
  1. 365
Platform
  1. Windows
Hey Team,

I'm trying to reference multiple different rate sheets for my estimating sheets. To start simple, all I want to do is have a table on my estimating spreadsheet that shows either the info from Administration 01 on rate sheet 1 or Engineering 01 on rate sheet 2 based on maybe the info from a drop down? Not sure if this would require some sort of power query or what.

Thanks!

Rate Sheet 1:
1736870527813.png


Rate Sheet 2:
1736870565512.png
 

Excel Facts

Pivot Table Drill Down
Double-click any number in a pivot table to create a new report showing all detail rows that make up that number
Hi, possibly a better way would be to have a single "Rate Sheet", organised properly as data.
Then you could use a formula (FILTER) linked to all your rates, organised as below, which is hinged on a drop down box (Data Validation, List) pointed at just the first column of headings as such.

Then, each time you change the value in the drop down box, it produces the list of data below it.

No reason for you not to be able to duplicate it and point it to rate sheet 2 in another box somewhere if you want .. its just usually cleaner to put all your "data" ie. Rates in one place so that it can be referenced elsewhere.

Book1
ABC
14Administrative ServicesLevel I48
15Administrative ServicesLevel II58
16Administrative ServicesLevel III68
17Administrative ServicesLevel IV78
18Administrative ServicesLevel V90
19Drafter / Designer / SpecialistLevel I73
20Drafter / Designer / SpecialistLevel II78
21Drafter / Designer / SpecialistLevel III88
22Drafter / Designer / SpecialistLevel IV98
23Drafter / Designer / SpecialistLevel V108
24EngineerLevel I92
25EngineerLevel II120
26EngineerLevel III150
27EngineerLevel IV185
28EngineerLevel V250
29Construction ManagementLevel I93
30Construction ManagementLevel II103
31Construction ManagementLevel III113
32Construction ManagementLevel IV132
33Construction ManagementLevel V150
Sheet1


Book1
ABCD
1
2
3
4
5
6
7Drafter / Designer / Specialist
8
9Drafter / Designer / SpecialistLevel I73
10Drafter / Designer / SpecialistLevel II78
11Drafter / Designer / SpecialistLevel III88
12Drafter / Designer / SpecialistLevel IV98
13Drafter / Designer / SpecialistLevel V108
14
Sheet2
Cell Formulas
RangeFormula
A9:C13A9=FILTER(Sheet1!A14:C33,Sheet1!A14:A33 = A7)
Dynamic array formulas.
Cells with Data Validation
CellAllowCriteria
A10Any value
A7List=Sheet1!$A$14:$A$33
 
Upvote 1
Solution
Hey Thanks Rob!

This method works for what I was trying to do with referencing different rate sheets.

Now I need a way to create and update the information from the original sheets. Or is something like that going to be a manual process you think? Absolute best case scenario is all of the original excel rate sheets I have, convert to the singular table you depicted above in a combined power query. That way, if any changes are made we can hit update in the bid sheet and have the new rates or added positions.

Thanks!
 
Upvote 0
Well, I'm glad I understood your first question, and provided a response for you in the right way. Thanks for the feedback.

In terms of your second entirely different question about updating data, which I'm not sure relates to the first necessarily, updating raw Data is a manual process generally speaking. Unless you have a way to pull it in automatically via a Macro, or DBase formulas from an external source (just as an example).

I don't know how many Rate Sheets you have, or who indeed generates them for you. Perhaps you do it yourself. If you get them from somewhere else, my approach would be to go ask them (or IT department) to lump them all together on one sheet in the fashion I suggested - that way, when it gets issued (as presumably someone is typing in rate values for each category on some other system), all your rates are updated to the latest version. Easy to copy and paste a sheet into your workbook over the old raw data.

If you are generating them yourself manually, then, yes, its a manual job to put them all into the format I suggested up front (ONCE). From then on, you can use a simple (CTrl-Shft-L) FILTER on top of the header in (row 1 lets say) to allow you to simply filter each heading you want to see whenever you need to do a rate change on the RAW data.

The thing about formulas acting on your RAW data, is that they will automatically update to give you the latest rate if thats what is in your RAW data. So Question 1 would still be a valid solution. PowerQuery is also another solution that "acts" on RAW data to get you the latest result, but I don't see it as necessary here.

Hope that helps - as I say - thats just my idea. Others here could have different solutions to your challenges.

Cheers
Rob
 
Upvote 0
Hey Thanks Rob!

This method works for what I was trying to do with referencing different rate sheets.

Now I need a way to create and update the information from the original sheets. Or is something like that going to be a manual process you think? Absolute best case scenario is all of the original excel rate sheets I have, convert to the singular table you depicted above in a combined power query. That way, if any changes are made we can hit update in the bid sheet and have the new rates or added positions.

Thanks!
It should be quite easy to convert the data.

This just takes the data from only one sheet but it can easily be adapted to loop through many sheets as long as the sheet names have a naming convention or are in a list.

The converted data range can then be made into a table so that the filter formula is dynamic.

See this example.

VBA Code:
Public Sub subConvertData()
Dim rng As Range
Dim rngSheet As Range
Dim lngRow As Long
Dim WsDestination As Worksheet
Dim WsSource As Worksheet
Dim strHeading As String

  ActiveWorkbook.Save
  
  Set WsSource = Worksheets("Source")
    
  Set WsDestination = Worksheets("Destination")
  
  WsDestination.Cells.ClearContents
  
  lngRow = 2
  
  Set rngSheet = WsSource.UsedRange.SpecialCells(xlCellTypeConstants)
  
  For Each rng In rngSheet.Areas
    If rng.Columns.Count > 1 Then
      With WsDestination
        With .Cells(lngRow, 2).Resize(rng.Rows.Count, rng.Columns.Count)
          .Value = rng.Value
          .Columns(1).Offset(0, -1).Value = strHeading
        End With
        lngRow = WsDestination.Cells(.Rows.Count, "A").End(xlUp).Row + 1
      End With
    Else
      strHeading = rng.Value
    End If
  Next rng

End Sub

Cycle through different Rate Sheets.xlsm
AB
1Administrative Services
2Level I48
3Level II58
4Level III68
5Level IV78
6Level V90
7
8Drafter / Designer / Specialist
9Level I73
10Level II78
11Level III88
12Level IV98
13Level V108
14
15Engineer
16Level I92
17Level II120
18Level III150
19Level IV185
20Level V250
21
22Construction Management
23Level I93
24Level II103
25Level III113
26Level IV132
27Level V150
Source


Cycle through different Rate Sheets.xlsm
ABCD
1
2Administrative ServicesLevel I48
3Administrative ServicesLevel II58
4Administrative ServicesLevel III68
5Administrative ServicesLevel IV78
6Administrative ServicesLevel V90
7Drafter / Designer / SpecialistLevel I73
8Drafter / Designer / SpecialistLevel II78
9Drafter / Designer / SpecialistLevel III88
10Drafter / Designer / SpecialistLevel IV98
11Drafter / Designer / SpecialistLevel V108
12EngineerLevel I92
13EngineerLevel II120
14EngineerLevel III150
15EngineerLevel IV185
16EngineerLevel V250
17Construction ManagementLevel I93
18Construction ManagementLevel II103
19Construction ManagementLevel III113
20Construction ManagementLevel IV132
21Construction ManagementLevel V150
22
Destination
 
Upvote 0

Forum statistics

Threads
1,225,725
Messages
6,186,646
Members
453,367
Latest member
bookiiemonster

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top