Schedulign Conflict Array Functions

ZoeCat

New Member
Joined
Jan 12, 2003
Messages
27
Gentlemen,
I had to regroup on my problem. I hope it isn't bad for me to start a new topic. But the board gets so slow sometimes that it's hard to wade through multiple pages of passed discussion.

I have a large Array named "Universe". The example below is just the first 8 columns of that array. I used it so I could show ou what the data structure looks like. There are 20 panels each with the identical structure as I have shown for "Panel 1" and "Panel 2" So Panel 3 through 20 have the same structure over-and-over.

The information is organized by time as indicated in the far left column. A Station Location, Station ID, Serial #, etc, etc is entered by a crafts person to schedule various "Stations" to run. Stations may be assigned randomly across any of the 20 panels. Each station has a backplane name associated with it. When a station is scheduled the craftperson scans down the left column and finds the time-slot they wish for the station to STOP running. They then they have to scan through the 20 panels to find one that is open. They fill in all the associated information and the duration that the station is suppose to run for. I arrive at the start time byt taking the STOP time minus the duration and poof you have the start time.

Unfortunately, they don't always do the right thing and they will schedule stations with conflicts. My goal has been to use conditional formating to turn the Backplane name red when they enter it if I detect a time conflict.

Those time conflicts will indicated by having overlapping start and stop times for a given Backplane name.

Any single station may be scheduled as many as 8-10 times a day, across any of the 20 panels. The craftsperson may be asked to remove a station from the schedule. They would just go delete the information from the associated panel and that panel slot is available for use.

It is very analogus to schedule Doctor's appointments across multiple rooms. The Doctor is scheduled to see a patient at a given time, for a given duration, in any given room (20 in this case).

I was trying to catch the event after the fact before. I got almost everything to work accept that there can be up to 200 unique backplane names. With all the array formulas running around and with 31 days in some months the spreadsheets began to take an incredible amount of time. In fact, too much time for practicle purposes.

So with all the above said, I am not trying to have someone else do my job. I was hoping that maybe some of you had worked on a schedule conflict type of problem before.

It ultimately sounds so fundementally simple take the duration and calculate the start time and then see if that backplane name has an END time already assigned that is greater than the START time being requested.

Hopefully I haven't bored you all to sleep with the explanation. I thought that with the approach I initally took it would be easier to get some possible guidence.

I decided to just put it all out there so that if there is an elegant solution your would have all the information to understand the problem.

Here goes on the Example. IF this doesn't work one of you will have to show me how to get the spread sheet into the forum like you do.

I am going to try with EXCEL generated HTML code.

Here's the example:

<html xmlns:v="urn:schemas-microsoft-com:vml"
xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:x="urn:schemas-microsoft-com:office:excel"
xmlns="http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
<meta name=ProgId content=Excel.Sheet>
<meta name=Generator content="Microsoft Excel 10">
<link rel=File-List href="Example_files/filelist.xml">
<link rel=Edit-Time-Data href="Example_files/editdata.mso">
<link rel=OLE-Object-Data href="Example_files/oledata.mso">
<!--[if !mso]>
<style>
v:* {behavior:url(#default#VML);}
o:* {behavior:url(#default#VML);}
x:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style>
<![endif]--><!--[if gte mso 9]><xml>
<o:DocumentProperties>
<o:Author>Michael Burns</o:Author>
<o:LastAuthor>Michael Burns</o:LastAuthor>
<o:Created>2003-01-17T02:01:39Z</o:Created>
<o:LastSaved>2003-01-17T02:10:22Z</o:LastSaved>
<o:Company> Sunset Photography</o:Company>
<o:Version>10.4219</o:Version>
</o:DocumentProperties>
<o:OfficeDocumentSettings>
<o:DownloadComponents/>
<o:LocationOfComponents HRef="file:///\"/>
</o:OfficeDocumentSettings>
</xml><![endif]-->
<style>
<!--table
{mso-displayed-decimal-separator:".";
mso-displayed-thousand-separator:",";}
@page
{margin:1.0in .75in 1.0in .75in;
mso-header-margin:.5in;
mso-footer-margin:.5in;}
tr
{mso-height-source:auto;}
col
{mso-width-source:auto;}
br
{mso-data-placement:same-cell;}
.style18
{mso-number-format:"_(
 

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