I have done some pretty complex spreadsheets, and some things that I consider cool in Excel. Like being able to do a data extract from our system, plop it into a tab, change the name in a cell to that of the tab, and have all of my 10 tabs of graphs / charts / tables update by reading that cell. It uses an INDIRECT call, makes for big and ugly formulas, but cut down a manual process from 2 days worth of work to about 5 minutes.
[yes, I know you can set up a data source and just read the data into the spreadsheet, but I was able to hand this off to some business people to do and they loved it]
Now, having said that... :)
Excel is over-used for things it is not well suited for. People on my test team use Excel to create test data load files in csv format for an application. It has about 100 columns, and usually no more than 50 rows or so. One of the fields needs to be unique, so it's easy in Excel to make it a number, then just drag the cell to increment it. The problem arose where we were doing a load test, and needed 1MM rows. They were trying, but failing, in Excel. It struggled with 30k rows, let alone that the process to create them was painful.
With a quick shell script I was able to create a 1mm row csv in about 5 minutes. They were amazed. Then we needed to create another file. This time, I used the 1mm csv and vi, and made the new file in about 2 minutes. They were astounded! I have since made many more files for them, even a 5mm row file. Even in csv, it was 2.1GB in size although it compressed quite nicely. :)
I have also started teaching them how to fish by having them download gvim for Windows and giving them pointers on how to use it. We are a Windows shop, so to many people csv=Excel, and I am trying hard to break them of that.