Lighting project. Use sunset and surise data + RTC to have arduino trigger cases

Background
I'm creating a 'light art project' and am struggling with the code (I'm still an Arduino beginner). I have 7 lights (outputs) lined up from East to West that I want the Arduino to put into 14 different scenes based on certain times on certain dates(input). I created an excel sheet for the time each scene starts for each day. It's not the same time or duration each day because the project is based on sunrise and sunset. Does anyone have any ideas about writing the code for this?

My Ideas
I was originally going to use the 'Switch)' function but I am thinking using an array or string would be best (add an array for each row in the excel sheet). I am using a relay info) and a 3231 Real Time Clock library. I was going to save the excel file as a txt file but I think if I convert each row of excel to a string that might work well. Everything is wired and working!.

Simplified Reframe
How might turn certain 'cases/scenes' on and off based on reading the time and matching it to time data points?

Secondary Objective
I would also like for the time to flash for each hour. 6:00 = first six lights turn out. 9:00 = 7 lights turn on then another 2 lights.

More about the project.
I'm calling it a Lanturnal (play on diurnal) that is the opposite of the sun. As the sun rises in the East the first light goes off and by high noon all lights are off. As the sun moves closer to setting in the West all lights are on. While there is no sunlight (from sunset to sunrise all seven lights are on)

As long as we know nothing about your code and coding skills, it's hard to give any answer.

How do you want to represent different scenes in memory?
How should a scene be selected - by the user?

And please don't use String, use char[] and PCHAR instead, else you risk to run out of memory soon. A binary time format were even better, easier to compare and less memory usage.

I've done something similar for an Arduino based time switch which compensates for the sunrise and sunset times (and daylight saving time) and uses a DS3231 module. I have built two of these for 'home security' role.

The main data structure is a pair of arrays of 12 elements each for the sunrise and sunset times on the 1st day of the month. I then do a linear interpolation between the start of the current month and the start of the next to get the value for a specific day. I get a maximum error of +/- 7 minutes using monthly values which was accurate enough for my purpose. For better accuracy, you can add more values and even go as far as storing a value for each day. You may even find a formula to calculate sunrise/sunset for your location.

Can you share the code that you used for that project? It would be a huge help.

Daylight aware timeswitch (based on local Sunrise/Sunset table - not photocell)

It's here and in two parts.

There is a controller part which sets the time, the on/off window and loads the EEPROM with the sunrise and sunset times via an infrared link. This is because the timeswitch itself has no user user interface (apart from an override button). Infact, my original plan was to miniaturise it and pack it into a hacked commercial timeclock, stripping out the original timer and keeping the power supply and relay. But I now have other priorities at the moment.

The timer part is has the specialty that there are 2 clock modules DS3231 which check each other and warn if there is a drift. All that is handled by a demultiplexer chip because the clock have the same I2C address. The Sunrise/Sunset table has to be adapted for your location.
The clock runs in UTC, not local time but the settings of the on/off window are in local time.

The coding isn't beautiful because it was built up in multiple stages but it works (I have 2 timers in use at home). If something is not clear, I should have some time to help.

DarkAwareSwitch-Controller-v1.00.ino (12.3 KB)

DarkAwareSwitch-Timer-v1.03.ino (22.1 KB)