In a past life, I made (very expensive) spreadsheets for a living. And though I don't like most Microsoft products, I'm pretty sure that Excel was built by God himself (or at least He was the lead dev or the PM).
It was very well made. It's easy to use and yet but also has great features and shortcuts for power users. There's lots of genius little features not available elsewhere, like grouping columns or formulas over columns or rows (e.g. sum(A:A)). I often abused it with 50mb spreadsheets (a bad practice fyi) and it could often take it. The version I used rarely crashed.
For most software I use, I see lots of things that need improvement. With Excel, I can only think of a few. (If anyone from Microsoft is reading this, please add matchifs, it's desperately needed).
Opening a csv triggers a full recalc even if your calcs are on manual. That's absurd given that csv files by definition have no formulas
Come on Microsoft. 18 years without updating the scripting abilities. Can't we have a .net version of VBA?? And NO JAVASCRIPT.
The fx button still opens a tiny old non resizable windows with a broken search feature, which is impractical if you have hundreds of UDF.
High levels of nesting in the UI making it really slow to repeat certain actions (try drawing something). I still miss Excel 2003's customizable UI.
They could provide at least a function to pull end of day FX rates.
Integration with powerpoint pretty much non existant. A huge amount of users prepare decks based on a model in Excel. The process to link them is unstable / stone age.
We should be able to transform a sheet into an excel formula, so that a non programmer can apply a complex logic to lots of data without a script.
Xlsm files get corrupted regularly when excel is running low on memory.
Adopt apple's idea of a sheet being a canvas on which you can drag tables or charts instead of having this antique model of a single grid which becomes annoying as soon as you have two tables on the same tab.
It's not the exact same as VBA macro extensibility, but you can do some pretty interesting stuff with it - build task panes, build embedded charts that leverage web content, etc.
I wouldn't recommend most of these ideas to Microsoft.
For example, I've done work where I've needed a recalc based on an updated csv so your suggestion would have broken Excel for some of my use cases. There's plenty of changes to recalc rules I would have liked, but I'm not sure any of them were unambiguously good ideas.
Also, scripting in spreadsheets is bad practice (besides maybe formatting or simple data fetching and even those are questionable). It's not what spreadsheets are for.
If calculations are on automatic, a recalc is fair enough. If calculations on manual, Excel should not initiate an unsolicited full recalc.
Scripting is extremely useful in Excel. In fact the productivity gain of this single feature is just off the chart. You have to think about business users, who barely know how to code. They can automate in a couple of hours some of their tasks, that would otherwise require to discuss with the IT team prioritisation, specs, testings, etc, and get something at best after 6 months.
I appreciate that IT depts hate seeing users coding stuff themselves but there is much to be said about the productivity of IT in large corporations.
And from a user point of view, I don't see why it would be bad practice. The only problem with scripting is viruses. But otherwise every application should be scriptable. There is always something that you would save time with a loop instead of having to do dozens of clicks.
* Microsoft Excel will not open two documents with the same name and instead will display an error
* Excel includes January 0, 1900 and February 29, 1900, incorrectly treating 1900 as a leap year. The bug originated from Lotus 1-2-3, and was purposely implemented in Excel for the purpose of bug compatibility.
* Can't handle dates before 1900
* Despite the use of 15-figure precision, Excel can display many more figures (up to thirty) upon user request. But the displayed figures are not those actually used in its computations, and so, for example, the difference of two numbers may differ from the difference of their displayed values.
In addition, it is completely useless for handling any type of delimited file. By default it supports csv. If you want to edit a pipe-delimited file, you have to dig into the language settings of Windows, change the default delimiter, and open the file. Then, you cannot edit comma-separated files without changing it back first. So, there's no way to convert one to the other. Same problem with tab delimiters. EDIT: one person has mentioned the import data feature, but that doesn't solve the problem. You cannot edit and save anything other than commas without changing the Windows language settings.
It also trims off leading zeros from fields in csv files. If you open a csv file with leading zeros in some rows (say, from ZIP codes or SSNs), they won't be displayed in Excel. Then, when you save it, even without editing it, all the leading zeros will be gone.
It changes date formats. Save a csv file with a date in it in the format YYYY-MM-DD. Open in Excel: it's displayed in MM/DD/YYYY. Hit Ctrl-S. Re-open the file in a text editor and you'll see that the file has changed.
It also doesn't preserve quotes correctly in csvs.
Besides all this, there are many other stupid terrible things about it, like changing behavior based on scroll lock (can you think of one other program that does this?), making it impossible to look at many tall rows using the mouse scroll wheel, etc.
Excel is easily one of Microsoft's most egregious offenses in the world of software.
>In addition, it is completely useless for handling any type of delimited file. By default it supports csv. If you want to view a pipe-delimited file, you have to dig into the language settings of Windows, change the default delimiter, and open the file. Then, you cannot edit comma-separated files without changing it back first. So, there's no way to convert one to the other. Same problem with tab delimiters.
Totally wrong, Excel has the ability to import using Data -> From Text that opens a wizard that will step you through opening any type of delimited file, formatting columns, header rows, etc.
That doesn't help you edit the file, though. It only helps you convert it to an Excel file. You still can't save as anything other than comma-separated without changing the language settings.
First, you're wrong again, you can also save as tab delimited text or just text. Also, Access has some more Excel export options.
http://superuser.com/a/107124
Secondly, Excel is not designed for round trip editing in plain text formats. You shouldn't use Word as a text editor either :-)
There are specialized editors if you want to directly edit a csv file etc. I use them sometimes. That's not what Excel is for.
The purpose of software isn't to be correct or even predictable. It's to satisfy the needs of the user. The user in this case, isn't you. It's corporate clients who make decisions for tens of thousands of employees. They have various needs, however esoteric and strange. I promise you that all of the behavior you cited was implemented at the request of a client.
Ideally Microsoft should craft custom versions for specific clients, but that is its own nightmare. They tried that with Windows and it didn't go too well.
I use Excel nearly every day at work. How am I not the user? My company has needs too, one of which is correctly editing spreadsheets and delimited files. Excel is insufficient for this.
For the 14 years during which I used excel daily, the first 4 items you listed didn't affect me and the last two never mattered. I used text-to-columns to very nicely parse pipe-delimited files. The leading zeros issue I bumped into several times and was a minor irritation to fix.
>I used text-to-columns to very nicely parse pipe-delimited files.
Sure, but you still can't edit it and save it without losing data. I use Excel nearly every day as well, and I get more and more frustrated the more I use it. My coworkers hate it as well. Just because you haven't personally experienced any problems doesn't mean they don't exist.