For posterity, in case anyone refers to this later on, here is the final (as of today, anyway!) version of the formula I am using:

=IFERROR(ROUND(IF((M10-$C$1)>383,(M10-$C$1)/365,IF(AND((M10-$C$1)<=383,(M10-$C$1)>365),(M10-$C$1)/365,IF(AND((M10-$C$1)<=365,(M10-$C$1)>90),(M10-$C$1)/30.4,IF(AND((M10-$C$1)<=90,(M10-$C$1)>0),M10-$C$1,"")))),1),"")&IF((M10-$C$1)>383," Years",IF(AND((M10-$C$1)<=383,(M10-$C$1)>365)," Year",IF(AND((M10-$C$1)<=365,(M10-$C$1)>90)," Months",IF(AND((M10-$C$1)<=90,(M10-$C$1)>0)," Days","Overdue"))))

A couple of the screwy things I did:

1. Changed the month calculation to 365/30.4 (instead of 365/30), to make the months slightly more accurate, and not end up with over twelve months to go when the time is still under a year left.

2. Made it so when the time remaining is over 1 year, but less that 1.1 years, it reads "Year", not "Years". (I didn't like it saying "1 Years"!)

3. Made it so the formula can be copied to other cells by making the "Today" date (C1 on my spreadsheet) a constant ($C$1). M1 in my formula above is where I have the due date for that particular item, but now I can copy and paste that formula to other items and the due date cell number will change, but not the "Today" date.

One question I have: Is there any way to round off the "Days" number (when M10-$C$1 on my formula above is <=90) to a whole number? I like having the years and months show a decimal place, but I don't need to see that something is due in 80.3 days.