# Need help with scheduling formulas

#### jordan89m

##### New Member
I work at a hotel and we have scheduled crews staying with us. In an effort to better assign crew members to rooms with as little unoccupied time between stays AND also maintaining at least a given amount of time between stays for cleaning I've been trying to work out a rooming schedule.

I'll try to break it down:

in a tab titled 'days' is a table with all records of the dataset.
Book.xlsx
ABCDEFG
1arrdatearrtimedepdatedeptimerecord#Column6Column7
201/08/227:2803/08/2216:251036150FEXXHX16:25
301/08/2221:1002/08/2222:00966950TEDDHX22:00
401/08/2221:1002/08/2222:00967050TEDDHX22:00
501/08/2221:3102/08/2222:05966750TEDDHX22:05
601/08/2221:3102/08/2222:05966850TEDDHX22:05
702/08/226:1004/08/225:411369850MEXXHX05:41
802/08/226:1004/08/225:411369950MEXXHX05:41
902/08/227:2804/08/2216:251036250FEXXHX16:25
1002/08/227:2804/08/2216:251036350FEXXHX16:25
1102/08/2211:3903/08/225:35967550TEDDHX05:35
1202/08/2211:3903/08/225:35967650TEDDHX05:35
1302/08/2212:4503/08/227:15967750TEDDHX07:15
1402/08/2212:4503/08/227:15967850TEDDHX07:15
days
Cell Formulas
RangeFormula
G2:G14G2=days!\$D2

in the tab titled buffer there is one cell indicating a cutoff time in which a room is no longer cleanable on a given day, and below it, all known departure times in column A and the ideal end of cleaning times in column B.

Cell Formulas
RangeFormula
A8:A28A8=IFERROR(UNIQUE(days!\$D\$2:\$D\$1400),"")
B8:B28B8=\$A8+1.5/24
Press CTRL+SHIFT+ENTER to enter array formulas.

then in the tab titled main, room numbers are populated down column A

Book.xlsx
ABCD
130-Jul
2701
3702
4716
5717
6718
7719
8720
9721
10801
11802
12816
13817
main

Right of the rooms is where data for each day is populated. As you can see, 4 crew members departing after the cutoff time on 2-aug trigger a "-20" flag (this is internal jargon, but basically means the room is not usable until the next day.) Record numbers from the 'days' tab skip rows every time a -20 is present. This is a must.

Cell Formulas
RangeFormula
H2:H13,K2:K13H2=IF(J2="-20","",IFERROR(INDEX(days!\$A\$2:\$E\$1400,SMALL(IF(ISNUMBER(MATCH(days!\$A\$2:\$A\$1400,H\$1,0)),MATCH(ROW(days!\$A\$2:\$A\$1400),ROW(days!\$A\$2:\$A\$1400)),""),ROWS(H\$1:H1)-COUNTIF(J\$2:J2,"-20")),5),""))
I2:I13,L2:L13I2=IFERROR(VLOOKUP(H2,days!\$E\$2:\$G\$1400,3,FALSE),"")
J2:J13,M2:M13J2=IFERROR(IF(VLOOKUP(E2,days!\$E\$2:\$G\$1400,3,FALSE)>buffer!\$A\$5,"-20",""),"")
Press CTRL+SHIFT+ENTER to enter array formulas.

Now for the part I'm stuck on...
I need to maintain the skipping rows where -20 is present but also now only assign records from the days tab if their arrival time is equal to or greater than the buffer time from the previous crew occupying the room. If it is not, the next room would be tested by a formula, basically distributing all expected crew on a given date to various rooms.

Looking forward to seeing what you geniuses put together! This forum has taught me much over the years, though I've only just registered in light of my new dilemma.

I'm sure more clarification will be needed and I'll be checking back constantly to do so!

Cheers,
Jordan

### Excel Facts

Did you know Excel offers Filter by Selection?
Add the AutoFilter icon to the Quick Access Toolbar. Select a cell containing Apple, click AutoFilter, and you will get all rows with Apple

Replies
0
Views
188
Replies
7
Views
333
Replies
4
Views
183
Replies
3
Views
227
Replies
1
Views
128

1,182,203
Messages
5,934,251
Members
436,938
Latest member
Mthalaj

### 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.

### Which adblocker are you using?

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

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