Don't run away, it's not that bad I assure you. All I wanted to do is show some of the stuff that I've come up with to make the running of some of my leagues a whole lot easier.
Looking at something I create for a racing league...

Here we have the initial setup sheet with room for both Drivers and teams, there is a duplicate list for teams as it's necessary for team calculations (more on that later). Should you need a replacement driver, you'd just add them to the driver list along with the relevant team name, this way the old driver's points are still shown on the Driver's standings. I've take the liberty of adding a few people and teams on, to make showing the results a little easier.
Also, the points for the different finishing positions can be altered here.
Onto the actual races results.

All that is need here, is the driver name to be entered, and times, if they're wanted. Both the team names and the points for each position are retrieved from the initial setup sheet.
After entering a few more results, we can have a peek at the Driver standings.

But Friendly and Oak are on the same points, how does it know which one is supposed to be placed higher? Well that's where the calculations sheet comes in.
Firstly, we can total up the different places each driver has received, This is done by looking for the driver name, and the place number in the results spreadsheet.
It's a little messy, but it ends up looking something like this.
Using this, we can now calculate any tie breakers, basically checking to see if a tie breaker can be used.

Firstly, we can rank people according to the points they have got, as we've have a tiebreaker, we can then split drivers on the amount of 1st places they have, if they're still equal we'd have to go on 2nd places, and so on. Since Friendly has won a race, Oak would lose this tiebreaker.
Once all tiebreakers are resolved, these rankings are then used to create the driver table. The same would happen for team tiebreakers too.
See that wasn't so bad was it?