Forum Discussion
Daniel_Jones94
Jul 16, 2024Copper Contributor
Creating a Data Package Tier List
Hi, I'm trying to build a model in Excel that displays different data sets. The data sets in Column A (1,2,3 etc.) each have different levels (A,B,C etc.). If I were to choose 1E I would obtain all the other levels (ABCD).
I want to find a way that if the user selects 1A, 4D & 3F it would automatically calculate cost of the highest tier selected for each data set (1,2,3) and also list which ones they did.
Happy to insert columns to the left of each price tag and the user can simply place an X in the cell to identify which data set they are choosing. If I can do this with checkboxes it would be great.
Picture below, apologies for the poor quality.
1 Reply
Sort By
- NikolinoDEGold Contributor
Creating a model in Excel to handle data packages with different levels and automatically calculate costs can be achieved with a combination of checkboxes, formulas, and possibly some VBA for enhanced functionality. Here is a step-by-step guide to set this up:
Step-by-Step Guide
1. Set Up Your Spreadsheet
First, set up your data structure. Here is an example layout for columns:
Select
Data Set
Level
Cost
[ ]
1
A
100
[ ]
1
B
200
[ ]
1
C
300
[ ]
1
D
400
[ ]
1
E
500
[ ]
2
A
150
[ ]
2
B
250
[ ]
2
C
350
[ ]
2
D
450
[ ]
2
E
550
[ ]
3
A
200
[ ]
3
B
300
[ ]
3
C
400
[ ]
3
D
500
[ ]
3
E
600
[ ]
3
F
700
2. Add Checkboxes
- Go to the Developer tab. If it is not visible, enable it via File > Options > Customize Ribbon and check the Developer option.
- Click Insert > Checkbox.
- Place checkboxes in the cells under the "Select" column corresponding to each row.
3. Link Checkboxes to Cells
- Right-click each checkbox, select Format Control.
- In the Control tab, set the Cell link to a cell in a new column (e.g., Column E). This will be a TRUE/FALSE value.
4. Calculate the Highest Tier Cost for Each Data Set
- Add a new column to identify the highest tier selected for each data set. Assume the linked cells from the checkboxes are in Column E.
- In a new column, use the following formula to identify the highest tier selected for each data set:
=IF(E2, ROW(), "")
This formula will return the row number if the checkbox is selected.
5. Summarize the Selected Tiers and Costs
- Create a summary table to display the selected tiers and their costs.
For example, use a MAX function to get the highest tier cost for each data set:
=MAXIFS(D:D, B:B, "1", E:E, TRUE)
This will give you the maximum cost for data set 1 where the checkbox is selected.
Repeat for other data sets.
Sum up these maximum values to get the total cost:
=SUM(MAXIFS(D:D, B:B, "1", E:E, TRUE), MAXIFS(D:D, B:B, "2", E:E, TRUE), MAXIFS(D:D, B:B, "3", E:E, TRUE))
6. Optional: Use VBA for Enhanced Functionality
To make the spreadsheet more user-friendly, you can use VBA to automate some of these tasks, like automatically identifying the highest tier selected for each data set. Here’s an example of VBA code that could help:
Vba Code is untested backup your file first.
Sub CalculateCost() Dim ws As Worksheet Set ws = ThisWorkbook.Sheets("Sheet1") Dim lastRow As Long lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row Dim dataSet As Range Set dataSet = ws.Range("B2:B" & lastRow) Dim cell As Range Dim maxCost As Double Dim totalCost As Double For Each cell In dataSet If ws.Cells(cell.Row, 1).Value = True Then If ws.Cells(cell.Row, 4).Value > maxCost Then maxCost = ws.Cells(cell.Row, 4).Value End If End If If cell.Offset(1, 0).Value <> cell.Value Then totalCost = totalCost + maxCost maxCost = 0 End If Next cell MsgBox "Total Cost: " & totalCost End Sub
To use this code:
- Press Alt + F11 to open the VBA editor.
- Insert a new module via Insert > Module.
- Copy and paste the VBA code into the module.
- Run the macro by pressing F5 or by creating a button on your worksheet that triggers this macro.
This guide should give you a robust model for managing your data packages and calculating costs based on user selections. The text and steps were edited with the help of AI.
My answers are voluntary and without guarantee!
Hope this will help you.
Was the answer useful? Mark as best response and Like it!
This will help all forum participants.