Hourly Goals Chart with Conditional Formatting

Share

Facebook
Twitter
LinkedIn

A while back I developed a solution to a Chandoo.org Forum question, where the user wanted a 4 level doughnut chart where each doughnut was made up of 12 segments and each segment was to be colored based on a value within a range.

HGC01

You can read the original post here: http://forum.chandoo.org/threads/hourly-goals-chart.30621/

This post will examine the techniques I used for the solution.

Data

Download the sample file: Download Hourly Goals Chart File

HGC02

The first thing to note is that there are 4 column of data, one for each measure of Safety, Quality, Delivery and Cost.

Secondly is that each measurement has 12 values representing the times from 4:30 am to 3:30 pm.

We need to setup a Doughnut Chart with 4 layers of 12 segments each

The easiest way to do this is to replicate the data area, but fill it with the same value in all cells,

I choose 1, but as long as all values are the same value, it can be any value

HGC03

Add a Doughnut Chart

Select the Range A16:E28

Goto the Insert, Chart and select the Pie/Doughnut menu

HGC04

HGC05

We have a bit of work to do yet to get the charts format correct

First select the chart then select the Chart’s Legend and press Delete

HGC06

Next with the chart still selected, Right Click on any Doughnut and select Format Data Series

Set the Doughnut Hole Size to 25%

Do not change the angle of the first slice

HGC07

Right  click on the Outer Doughnut and select Add Data Labels, Data Labels

HGC08

Right Click on any Data Label and Select Format Data Labels

Tick Value From Cells, Select a range A17:A28

Untick Value

Untick Leader Lines

HGC09b

Now manually click and drag each data label outwards to its final location

HGC10

 

Finally set the Border Color for the doughnuts

Right Click on each Doughnut in turn

Set the Doughnut’s Border Line to a Grey Color and a 2 Pt line size

HGC11

We can now add a text box for the Doughnut Labels

With the chart selected, goto the Insert, Text Box menu

Drag a Text Box inside the chart

Right click on the Text Box and edit Text and type in the value Cost

Now repeat this for the other 3 Doughnuts

HGC31

 

Connect the Doughnut Segments to the Data Area

We now have a basic Doughnut chart with all the facilities we require.

Unfortunately, Excel doesn’t have a built-in Conditional Formatting option for charts.

So we will need to develop a system using some simple VBA.

Understand the Doughnut Chart

To write a piece of code we will need to loop through each segment of each doughnut and reference it back to the source data area

Then use some code to set the fill color

then repeat for each segment

 

To do this we need to understand which doughnut is which column of data and which segment in the doughnut is which time period

First select the inner Doughnut, Note that when you select it, Excel highlights the Safety Series as well as showing the Series Number in the Formula Bar

HGC12a

Repeat with the outer Series and you will see that Doughnut 4 is connected to the Cost Data and is series 4.

HGC12b

To determine which segment is which goto cell E17 and change the value from 1 to 2

HGC13b

So we understand that the series go from Value 1 to 4, Inner to Outer Doughnuts and that the segments go from value 1 to 12 clockwise, starting to the right of 12 O’Clock.

Finally select the Chart and make note of it’s name.

The Charts Name is shown in the Name Dialog above cell A1

HGC16a

Now for some VBA

Lets start by first manually recording a macro in VBA and we will then edit and add to the macro to get our final result

Start the macro Recorder by Pressing the Macro Button in the lower left corner of the Excel Window

HGC14a

Note the Macro Name, which is most likely Macro1 and press Ok

Now everything that you do is being recorded by the Visual Basic Editor (VBE)

Select the Outer Doughnut, then select Segment one, then Right Click on Segment one, Format Data Point

Select the Fill & Line menu

Set the Fill to a Solid Fill and Select a Color Red

You can now stop macro recording by pressing the Macro button again

HGC15a

 

Lets look at our code

To change to VBA press the Alt+F11 button

You should have a screen similar to this:

HGC17

Take note of the above.

We can see that we have a Macro1 subroutine, located in Module 1 of our Excel file.

If you can’t see a Properties or Immediate window, don’t worry.

Looking at the VBA Code we can see

HGC18

  1. That the chart is called Chart 1
  2. We selected Doughnut 4, the outer doughnut
  3. We selected the first segment in Doughnut 4
  4. We set the Fill Color of Segment 1 to Red  = RGB(255, 0, 0)

So this little bit of code will form the basis of our macro

What we need to do next is to place that within 2 loops, one loop for the Doughnut and one loop for the Segment

So lets do that:

HGC19

You can see above that we have initialised two variables Doughnut and Segment as Integers

We have setup two loops, one for the Doughnut which will loop from 1 to 4 and a second loop for the Segment, which will loop from 1 to 12.

We can now use these variables within the code to reference each Doughnut / Segment as relevent

HGC20

The next thing is to add lines to lookup the value of the measure in the original data table.

We can use our variables to assist us with this:

I have added a new variable declaration myVal and declared it an Integer as it is only storing the values from, 0 to 3.

Then we retrieve the value from the data area by using a Range(“”).Offset(Row,Column) combination.

We know that the segment loops from 1 to 12 and this is the Row Offset in each Doughnut.

The Doughnut loops from 1 to 4 and this is the Column Offset from the cell A1

 

 

HGC21

Next we need to allow for each fill color remembering that the data area has a legend

HGC22

We could loop from a value of 0 to 3 and check the new variable myVal against each value and set the color.

But VBA has a Select Case function which is ideally suited to this task

HGC23

A also took the opportunity to streamline the Chart selection process in the previous step

That allowed the use of the With Object construct, allowing the Select case to use the myVal to apply different colors to the fill property of each segment

 

At this stage we can run the code, by simply pressing F5 in VBA

HGC24

 

We can change the code to allow it to update automatically when Data range changes

To do this we need to shift the code to a Sheet1 Code Module associated with Worksheet Sheet 1

HGC26

Note above that the code is now located in a Private Sub Worksheet_Change event. This means that the code runs whenever worksheet1 chnages.

The next line If Intersect(ActiveCell, Range(“B2:E13”)) Is Nothing Or Target.Count > 1 Then Exit Sub

Checks whether the cell that changed was not part of our Data Area or that multiple cells were selected.

If either are are true the macro ends

Then finally I removed the MyVal calculation and made it part of the Select Case function.

because we aren’t using myVal I removed the Dim myVal statement

We can now also remove Module 1, right click on it and Remove Module.

Save the file and return to Excel with Alt+F11

You can now change any cells in the data area and the macro updates the chart accordingly

Can we tidy up the layout of the worksheet?

Although we now have a fully functional model, we are stuck with an ugly worksheet layout because our template of 1’s is being used to support the framework of the 4 Doughnuts in the chart.

What if there was another way to achieve that?

Well there is.

Firstly, we could simply shift the range A18:ER30 well away from the Chart and data area or even move it to another worksheet.

HGC27

This will work, but risks a person adding data, rows or columns and messing up the layout

But there is a better way

I am going to add 4 Named Formula to the worksheet, one for each Doughnut

Goto the Formula, Name Manager Tab and add 4 Names as listed below:

_Safety      =1+(ROW(OFFSET(Sheet1!$A$1,,,12,1))-1)*0

_Cost        =_Safety

_Delivery  =_Safety

_Quality  =_Safety

HGC28

The 4 Names now contain an array of 12 x 1 each with a value 1.

We can use that to link the Doughnuts to instead of the Physical Range

Right click on the chart and Select Data

HGC30

Select each Doughnut in term and Edit

Change the Series Name to Row 1 and insert the Names into the Series values dialog.

Note that the formula must include the Worksheet name =Sheet1!_Safety etc

HGC29

Repeat this for the 4 Series

You can now select the framework range: A18:E30 and press Delete

HGC32

The chart remains intact and is now supported by the Named Formula

Change some values in the Data range at the top and the Chart updates as it should.

You can download the final version of the file here: Download Completed File

Final Thoughts

The technique applied to the doughnut chart above can fairly easily be modified to any chart type or in fact any other shapes.

Let me know what you think in the comments below:

ps: This has been one of my hardest posts to write, simply because Microsoft has misspelt Doughnut. In my native Australian English it is Donut.

 

 

 

 

 

Facebook
Twitter
LinkedIn

Share this tip with your colleagues

Excel and Power BI tips - Chandoo.org Newsletter

Get FREE Excel + Power BI Tips

Simple, fun and useful emails, once per week.

Learn & be awesome.

Welcome to Chandoo.org

Thank you so much for visiting. My aim is to make you awesome in Excel & Power BI. I do this by sharing videos, tips, examples and downloads on this website. There are more than 1,000 pages with all things Excel, Power BI, Dashboards & VBA here. Go ahead and spend few minutes to be AWESOME.

Read my storyFREE Excel tips book

Overall I learned a lot and I thought you did a great job of explaining how to do things. This will definitely elevate my reporting in the future.
Rebekah S
Reporting Analyst
Excel formula list - 100+ examples and howto guide for you

From simple to complex, there is a formula for every occasion. Check out the list now.

Calendars, invoices, trackers and much more. All free, fun and fantastic.

Advanced Pivot Table tricks

Power Query, Data model, DAX, Filters, Slicers, Conditional formats and beautiful charts. It's all here.

Still on fence about Power BI? In this getting started guide, learn what is Power BI, how to get it and how to create your first report from scratch.

59 Responses to “Robust Dynamic (Cascading) Dropdowns Without VBA”

  1. Gary says:

    downloaded workbook doesn't work for me. it's always missing the first selection.
    so, If I choose fruit, apples is not in the dropdown. if I choose vegetables, beets is not in the dropdown

  2. @Gary, you are right, I try to anticipate the reply of Jeff.
    Here’s the right formula, enter into the Name Manager while cell B8 was selected:

    =IF(ISBLANK(C8),IF(DataEntry[#Headers] B:B = DataEntry[[#Headers],[Main Category]],OFFSET(ValidationLists[[#All],[Main Categories]],1,,COUNTA(ValidationLists[Meat])),OFFSET(ValidationLists,,MATCH(A8, ValidationLists[#Headers],0)-1,COUNTA(OFFSET(ValidationLists,,MATCH(A8, ValidationLists[#Headers],0)-1,,1))-1,1)))

  3. UFFF ... i'm sorry ... forget my previous comment 🙁
    Here’s the right formula, enter into the Name Manager while cell B8 was selected:
    =IF(ISBLANK(C8),IF(DataEntry[#Headers] B:B = DataEntry[[#Headers],[Main Category]],OFFSET(ValidationLists[[#All],[Main Categories]],1,,COUNTA(ValidationLists[Meat])),OFFSET(ValidationLists,,MATCH(A8, ValidationLists[#Headers],0)-1,COUNTA(OFFSET(ValidationLists,,MATCH(A8, ValidationLists[#Headers],0)-1,,1)),1)))

    the errors were due to the fact that ValidationLists does not include the header (as I had initially interpreted)

  4. Elias says:

    Great formula as an always Roberto. However, I think it still need some VBA to clean the subcategory selection if the user delete the previous category.

    Regards

    • Ciao Elias! the formula was born from a discussion with Jeff, everyone added something then he wrote this post and he explained the formula ... he gave all the credit to me ... but the merit is more his ... I've only made a mess with these Excel Tables (I'm sorry) 🙂
      anyway thanks

  5. Jeff Weir says:

    Gary: Thanks for the heads up. Have fixed post and sample file.

    Elias: No VBA necessary as users CANNOT delete upstream categories without FIRST manually cleaning out downstream categories. Give the sample file a spin.

    • Elias says:

      Hi Jeff,

      Open the file->go to B8 and press the delete key. Do I missing something?
      Also, the new file’s link is giving and error.

      Regards

      • Jeff Weir says:

        No, it's me that's missing something...I misunderstood what you were saying. So yes, you'd need VBA to do that, along the lines per my previous post. But this is still a great non-VBA solution, apart from that.

        Link fixed.

        Cheer Elias.

  6. Kuldeep J says:

    Great....i was looking something like this in past but end up with only VBA solutions which i really did not liked them because if anyone unknowingly chnage the upper LOV, All the sub selection get vanished and if the person do not know what those LOV, He/She can only hit his head.

  7. LeonK says:

    What a fantastic solution. I'm currently replacing VBA routines with non-VBA ones and this formula has become a major part of my re-modelling. Thank you so much for debating, creating and sharing this formula.

    LeonK

  8. Jeff Weir says:

    Kuldeep and LeonK: Thanks for you kind comments. Without comments like yours, I tend to think that noone finds this stuff useful.

  9. Oxidised says:

    Great solution! shame I needed it 6 months ago, but I'm sure i'll find another use for it soon!

    Certainly do find it useful, keep the awesome posts coming!

  10. Doug Glancy says:

    Nice work, Jeff and Roberto. The VBA-free cascading data validation is a worthy goal.

    At my previous job I regularly sent out Excel surveys to dozens of recipients, and of course couldn't hazard the maintenance nightmare of VBA. I came up with a version of dependent dropdowns that wasn't as self-correcting as this, but uses Conditional Formatting to alert the user, and ultimately, the analyst, that something is amiss. If anybody's interested it's at http://yoursumbuddy.com/user-friendly-survey-without-vba/.

  11. […] Weir explains Robert Mensa’s technique for creating robust dynamic drop downs, without VBA. Just remember, the best we can do is build things that are idiot resistant, not idiot […]

  12. Pablo says:

    Thanks Jeff and Roberto, this is exactly what I was looking for. The timing it's like a miracle! 🙂

    I noticed that the validation is not consistent, in some cells I can type anything I want, but in others the validation rule works. I just copied the cell from the one that was working to the rest and now all are fine. I hope I didn't mess up anything by doing that.
    Thanks again,
    Pablo

  13. […] Howdy folk. Jeff Weir here. You might remember me from shows such as Handle volatile functions like they are dynamite, Did Jeff just Chart, and Robust Dynamic (Cascading) Dropdowns Without VBA. […]

  14. Leonard says:

    Guys, does this work with subcategories beyond 3, per the example? I have a flow chart decision tree with 6 subcategories. My customers are basic users who don't want to read my guidelines or decision tree. I thought dynamic dependent drop downs the best option for this situation. However, I can't seem to find anything on the web that shows beyond 3 categories. If anyone can help show how it could work with the learning/example that Jeff published above, I would be grateful...or if there are better options then drop downs...

    • Jeff Weir says:

      Leonard - yes it can. As per the original article: Like Roger’s approach, Roberto’s approach can handle any number of cascading levels, provided all the category names are unique. All you need to do is simply add the new subcategories to the right hand side of the validations table.

      • Leonard says:

        Thanks Jeff!

        Even though I am basic beginner, I managed to emulate and then modify. Maybe it say somewhere, but I discovered that if your last column in the validation table isn't filled in as far as the 1st column, then you won't get the full first drop down list. I basically created an extra end column that I filled in with bogus numbers so it would work.

        Thanks again!

  15. Enzo says:

    I just implemented this mechanism and it works perfectly. When I close the file and try to open it again, it just crashes Excel, and the file become useless.
    Tested in two different machines and got the same result.
    Anyone with the same problem?
    Tks
    Enzo

  16. Gigi says:

    Hey,

    I did this equation on a template and it worked out well. I set up three different sections with no problem. A few months later when I tried to add two more sections to a different tab, it will not work. Well, at first it worked but then out of the blue the formula is not working. But only for that section. This is what I am typing in with the proper adjustments for the cell I am entering. Also, not sure if this is a part of the problem, I am using macros to dynamically rebuild the ValidationListsD table in the formula.

    =IF(ISBLANK('Budget Details'!H11),IF(DataEntryD1[#Headers] 'Budget Details'!G:G = DataEntryD1[[#Headers],[SC Account Name]],OFFSET(ValidationListsD[[#All],[SC Account Name]],1,,COUNTA(ValidationListsD[SC Account Name])),OFFSET(ValidationListsD,,MATCH('Budget Details'!F11,ValidationListsD[#Headers],0)-1,COUNTA(OFFSET(ValidationListsD,,MATCH(‘Budget Details’!F11,ValidationListsD[#Headers],0)-1,,1)),1)))

  17. Simon Williams says:

    Hi -
    Thanks for the example - something I could never have done myself 🙂

  18. Walter Rizzoli says:

    Fine article and excellent solution for cascading validation lists. Once I found it I couldn't resist trying it. After a while, then, i bumped into an apparently unsolvable problem: when I try copying the sheet which contains DataEntry table, the validation list wouldn't work. I have the ValidationLists in a different sheet.
    Of course, copying the worksheet forces excel to copy the ValName range which remains with the same name but scoped to the new sheet instead of the workbook. The DataEntry table becomes DataEntry2 instead. I thought the problem was that ValName scoped to workbook in the first place, so that having 2 different range named the same, one being scoped to the workbook was the issue. So I decided to change the scope of ValName to the worksheet before copying. The result was the same: validation lists do not appear on the new sheet, while still working fine on the original one.
    Is there anything I am missing or is just that the operation doesn't have an easy solution (meaning I need to set up the whole thing everytime a copy the sheet)?

  19. Cmt says:

    Hi Guys! try this..
    Let us assume you have the main dropdown in cell A1 and its dependent dropdown in cell B1. Also, let us assume that the name of your main validation list is "list1", which means that under validation criteria for cell A1, you Allow List and in source you type"=list1". So, instead of "=list1", try this:
    Under validation criteria for cell A1, Allow - List. In Source, type the following formula...
    =IF(B1"","",list1)
    THAT IS IT! So long as cell B1 is not empty you will not be able to input any value in cell A1.

    • Jeff Weir says:

      Cmt...that works fine for two level dropdowns, where you have set up named ranges ahead of time. But my approach can handle any number of cascading levels (provided all the category names are unique) without having to set up individual named ranges. All you need to do is simply add subcategories to the right hand side of the validations table (Table1). There's more on this in the original article I link to at the top.

  20. Dzordzan says:

    That is AWESOME!!! I am not VBA yet but needed to impress by boss 😀 AND I DID!!! I did impress myself though as well lol! Biggest thanks to you, Chandoo!!! You rock!

  21. Discoblade says:

    This is exactly what I was looking for, except for one issue, I would likre my data input to be on a different sheet to the source table, and I can't seem to make it work...help?

  22. Mangirish Nadkarni says:

    I have tried the formula. My data input is on Opportunity Data sheet from K3:M9999 and my Validation Lists are on DB Sheet from B37:W55. I have "First_Header", "ProductData" and "ValidationLists" in the Name Manager. I tried the formula as: =IF(ISBLANK(Opportunity_Data!L3),IF(ProductData[#Headers] DB!B:B=ProductData[[#Headers],[Customer Billing Plant]],OFFSET(ValidationLists[[#All],[Customer Billing Plant]],1,,COUNTA(ValidationLists[Customer Billing Plant])),OFFSET(ValidationLists,0,MATCH(DB!A36, ValidationLists[#Headers],0)-1,COUNTA(OFFSET(ValidationLists,,MATCH(Sheet1!A36, ValidationLists[#Headers],0)-1,,1)),1))). I am continuously getting the error message regarding incorrect formula with the ValidationLists[[#All] highlighted. Can you please help me?

  23. Prajay Kumar says:

    One more simplest way is to use INDIRECT function.

  24. Jeff Weir says:

    Yes, you can use INDIRECT. But you have to set up a seperate named range for every possible combination, and you can't use spaces (meaning in the example above you would have to use Ozark_Beauty instead of Ozark Beauty). So if you have more than a couple of levels of cascading dropdowns, the INDIRECT approach soon becomes unwieldy.

    Whereas my approach can handle any number of cascading levels (provided all the category names are unique) without having to set up individual named ranges. All you need to do is simply add subcategories to the right hand side of the validations table (Table1). There's more on this in the original article I link to at the top.

  25. Tracy Ormand says:

    I'm working on adapting this to my form. I'm just getting into using VBA and advanced formulas, literally like three days ago! I was wondering if this will work with my project. I have a very simple form that I created using one downstream dropdown to capture a group and subgroup. I only have the one table where my source data is pulled from. There are no headers in my data entry (form) area either. Just want to make sure its possible. I'm hoping to understand this better once my Vyvanse kicks in!

    Kind regards

    • Jeff Weir says:

      Yes, this should work. Setting it up can be a bit complicated, so if you get stuck, perhaps the best way to proceed is to download the example, and change it to suit your needs.

  26. Jim says:

    Hi Chandoo,
    Your formulas have worked wonders for me, however after finally being able to apply this "Robust-dynamic-cascading-dropdowns-without-vba", it seems I could not get the dropdowns to work if I duplicate the worksheet and rename. When I pull up the Name Manager, it seems the originally created table and Name Ranges are scoped to Workbook, and new Names exist scoped to specific Worksheet.

    Not sure if I make any sense, but in simple terms, I duplicated sheet 1, rename to sheet 2, click on the same cell with data validation, no drop-down appears.

    Any idea?

    • Jeff Weir says:

      Hi Jim. I'm the author of this guest post, not Chandoo. You'll simply have to create new names that don't conflict with the old.

  27. Jim says:

    Hi Jeff, sorry I didn’t notice... anyway, thanks for the reply, just realised the sheet names and formulas will then have to match accordingly, it works fantastic now! A thousand sincere thanks!!! 😉

  28. Michael says:

    Hi Jeff,

    Thanks for this post, this was very helpful. I am trying to tweak this formula to accommodate a similar dynamic drop-down structure, but in a different format. My DataEntry table must be formatted a certain way to meet upload requirements.

    In my case on the DataEntry table, my "Main Category' drop downs are the table headers (So picture Fruits, Vegetables, and Other Stuff, in B7:D7) and my dependent sub-category drop-downs (only using 1) are in the rows directly underneath (ex. Apples, Beets, Bread as selections in B8:D11)

    My Validation table has my Main Category selections as column headers with all the sub-category values listed underneath. (I hadnt considered an Initial List since I only have 1 dependent drop-down list)

    I can change the validation table in any way I want but the DataEntry table must stay in this format. Is there a way to rearrange the formula to accommodate this while maintaining functionality?

    Thanks!
    Michael

    • Jeff Weir says:

      I'm afraid not, Michael. You'll have to research for a different approach.

    • Chandoo says:

      In this case, you can use the example demonstrated here:

      https://chandoo.org/wp/cascading-drop-down/

      • Michael says:

        Hi Chandoo,

        Thanks for this, unfortunately I cannot use this as I will need to copy the validation over to multiple columns to the right, and also have the dependent drop down validation copied down to multiple rows. So I wont be able to have the IFERROR formula that displays the red X next to my drop-downs, nor can I put it underneath. Similarly I will need to format my validation values as a table so I can add new items to each drop-down as I please.

        Based on this criteria, is VBA my only option here?

  29. Leonardo says:

    Hi Chandoo,

    I use Excel for Mac 2016, so when I try to paste my version of the suggested formula the range of cells box truncates it to 255 characters max (my formula has 455 characters).

    Is there a way to get around this situation?

    I tried splitting it up in two and using CONCATENATE to combine it together but it didn't work. Maybe I'm doing it or there's a more clever way to circumvent this limitation...

  30. Barry says:

    Hi! This solution is perfect for me! I am trying to use Cascading Drop-downs on a protected sheet and don't want to get into VBA to get around that. I would only need to adapt the Headings and Category names.

    I can do this easily and it works perfectly on the worksheet I downloaded from you.

    However - I think I am having the same trouble as Leonardo above - When I try to copy the sheet into my existing workbook, it fails. It says I am missing a parenthesis. I am also using Excel for Mac 2016. But I don't understand why it works on the worksheet I downloaded, but not when trying to integrate it into a new workbook. Thanks for any help!

  31. Barry says:

    Actually I figured it out - if I "copied" your worksheet into mine, the problems occurred. If I "moved" the worksheet into mine, it worked perfectly, thanks again for providing this innovative solution, now I can use these lists on a protected workbook with no VBA to work around!

  32. Pierre says:

    Hi everyone,
    First of all, thank you for this article, it is really insightful.
    I have a question regarding this topic tho.
    My question is "How many levels of dynamic (cascading) dropdowns can you construct ?".
    In order terms, would it be possible to add a 4th level with illegal characters in the example above ?
    I tried to research that really hard but could not find anything. Any help is welcome.
    Thank you,
    Pierre

  33. Thomas says:

    Hi, I am looking for a formula where the cell content changes from selecting the options in a dropdown. For example: when I select week as an option in the dropdown then my dashboard will give me report week wise information. From Cell A5 to A15 the weeks should be reflecting and based on that weeks the other column cells should give the info. Likewise when I select the option as Month then the same cells A5 to A15 should show the months and based on the month the other column cells will give the report. And other this is, only the available week or month should reflect in the A5 to A15 Cells from the dump.

  34. Miguel says:

    I need help!
    I have 2 columns one with date which can repeat and another with date that vary along the day as multiple tests are executed during the day. I need a cascading dropdown, than upon selection of the date, user's can choose the time at which the report was executed to look at the data.
    my 2 tables look like this:
    Date Hour
    20/10/2020 13:45
    20/10/2020 15:34
    07/10/2020 20:00
    09/10/2020 20:45
    09/10/2020 21:45

    How would the formulas look for a scenario where I don't have and categories listed on the top row?

Leave a Reply