Excel doesn't work well on very large spreadsheets (I use it on some sheets with over 150,000 rows.) Things are slow to load, and commands like lookups are extremely slow, enough that I think they're doing O(n) lookups for things like the VLOOKUP command, even when looking up data on tables or sorted columns.
What makes the above even worse is that Excel has a pretty poor understanding of when a change necessitates a re-calculation of all values in the workbook, so I grind to a halt when making random unrelated changes (and even if I switch it to manual calculations, it re-calculates upon saving, meaning saving my work can become a 30-40 minute endeavor).
Pivot tables are pretty clunky an unintuitive for most users, even though I think lots of people would use them if they understood what they were.
VBA is a very verbose and inelegant language, and there are lots of operations which are called in totally different ways than the analagous forumulas in the spreadsheet. There are even some things you can do in spreadsheets which don't have an analagous VBA command, which leads to the fantastic work-around of using cells on your worksheet instead of variables and changing their text values to the command you really want to just run in VBA.
The standard fill down operation sometimes doesn't Just Work(TM). Example: say you want to make a cell "=C2E5". You try filling down and you get "=C3E6", when you wanted "=C3E5", because E5 is a constant. OK, fair enough, you say, you can't reasonably expect the machine to infer what you meant. But now you adjust the cell below to what you want, and now you select two cells, one that's "=C2E5", one right below it that is now "=C3E5", and now with both selected, you fill down again. Presto, the next cells are "=C4E7","=C5E7","=C6E9","=C7E9","=C8E11".... etc. That's pretty bad.
Some of these are pretty mundane, but they would all be big deals for me.
What makes the above even worse is that Excel has a pretty poor understanding of when a change necessitates a re-calculation of all values in the workbook, so I grind to a halt when making random unrelated changes (and even if I switch it to manual calculations, it re-calculates upon saving, meaning saving my work can become a 30-40 minute endeavor).
Pivot tables are pretty clunky an unintuitive for most users, even though I think lots of people would use them if they understood what they were.
VBA is a very verbose and inelegant language, and there are lots of operations which are called in totally different ways than the analagous forumulas in the spreadsheet. There are even some things you can do in spreadsheets which don't have an analagous VBA command, which leads to the fantastic work-around of using cells on your worksheet instead of variables and changing their text values to the command you really want to just run in VBA.
The standard fill down operation sometimes doesn't Just Work(TM). Example: say you want to make a cell "=C2E5". You try filling down and you get "=C3E6", when you wanted "=C3E5", because E5 is a constant. OK, fair enough, you say, you can't reasonably expect the machine to infer what you meant. But now you adjust the cell below to what you want, and now you select two cells, one that's "=C2E5", one right below it that is now "=C3E5", and now with both selected, you fill down again. Presto, the next cells are "=C4E7","=C5E7","=C6E9","=C7E9","=C8E11".... etc. That's pretty bad.
Some of these are pretty mundane, but they would all be big deals for me.