Forum Discussion

Daniel_Jones94's avatar
Daniel_Jones94
Copper Contributor
Jul 16, 2024

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

  • NikolinoDE's avatar
    NikolinoDE
    Gold Contributor

    Daniel_Jones94 

    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.

Resources