From Shift Schedules:
This Excel spreadsheet keeps track of which drivers are qualified for each route and lets you assign them to two shifts a day (morning and afternoon or any other 2 shifts) each day for a month. Built-in logic keeps you from assigning unqualified drivers to routes and also prevents you from assigning drivers to overlapping shifts. When you are finished assigning buses to routes and drivers to buses, simply click a button to send the schedule to everyone by e-mail. It just can't get any easier than that. No more missed routes and no more assigning drivers to routes they are not qualified to navigate.