My coworkers are given the ability to crawl (simple equations in spreadsheets) then walk (user-defined functions) then run (automatic iterative solutions in UDF's, applying test data to create UDF models of machine performance). Not something a lot of mechanical folks would ever find themselves doing unless an already well-used tool has a good progression toward more complex and demanding use cases.
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.
I am sure I can pull more if popular demand!
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.
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.
I have some scripts that generate CSV files with formulas and for the record they work fine in both Excel and LibreOffice Calc.
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.
And for automation I would rather use .net + ExcelDNA than javascript.
I can understand why they went the javascript route but that's clearly hearing developers, not users.
Some of the worst ones:
* 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.
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.
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.
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.
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.
It has terrible default orphan/widow control, and editing anything graphical is a royal pain in the ass: the slightest wrong touch can throw your diagram into disarray. Those that "know" how to use it I've noticed seem to have near-infinite patience and knowledge of where all of Word's "land mines" are and how to avoid them.
People use it because it bundles in every obscure feature under the sun, so it's effectively the lowest common denominator when it comes to meeting an organizations' needs. And for those who already know how to use it, I suspect the sunk cost fallacy keeps them there.
I still have and use it irregularly for a few things, but if you just need to edit text with formatting, use TextEdit. Using Word to type up a memo is like using a jet engine to cook a TV dinner.
Word can't keep a list straight.
Given that context, it makes little sense to say, that's unfair, it's really a screwdriver.
Consensus =/= Fact in every scenario.
At some point you just have to say, this hammer, while apparently designed as a screwdriver, is clearly labeled, sold, purchased, and used as a hammer and is not very good at it.
"Oh, I need to change the format of headings? Well, I guess I'll have to go through all 1536 instances!"
-- someone with very good Office skills
(It's actually used in many publishing workflows, but for the early stages, where all you want is a rich text editor with the ability to do diffs. Typography and layout is done later with different tools)
Also very useful for smaller mass mailers and the like, where you don't have the budget for a full feature publishing suite (or the need).
Pity that it's so difficult to do, say, bilingual books with one language on one side and the other on the other, with page elements lined up neatly. For that, Word is probably the easiest — but it looks terrible.
My experience is that 'users in business settings' absolutely refuse to consider any alternatives, mainly because of two 'fear factors': 1.) "Everyone else in my industry uses Microsoft Office products so I must as well" 2.) (Usually unstated explicitly) "Learning an alternative is going to cost me time and money and personal effort"
Sure, Excel can be a useful spreadsheet tool, but Word is a clumsy and difficult publishing tool. Many alternatives from LaTeX to LibreOffice to InDesign tend to be more portable and reliable but require the user to assume a degree of risk for learning something new and different. That seems to be enough to keep the majority of users away.
For a lot of people, they don't want to learn alternatives ('cuz that's on my time, since they boss ain't training me), and the cost of the license isn't coming out of their pocket. Of course they use Office. That's not an unreasonable choice.
The current Mac version can't even keep track of recently opened files. Working with styles is torture. (You can't search them, you can't group them, you can't sort them, the ribbon selection seems to be random.)
The ribbon itself is an unusually eccentric example of software design.
A competitor could easily produce a leaner, better product. But it would never sell, because Word has so many corporate users that anyone who exchanges files with them has to use it too.
Locked-in products do sometimes fail, but they usually only fail to competing products from large companies. The textbook example is the move from QuarkXpress to InDesign, which only became possible because Quark were so famously greedy and lazy about Xpress they literally pissed off the entire print design industry.
Adobe not only had a better product, they also had the sales team and industry relationships to push it. Without those, it's likely Xpress would still be Number 1.
There are several competitors in this space. Pages, LibreOffice, and Google docs come to mind. The only one I've ever heard described as better is Google docs. I'm not sure reality supports your statement.
Page layout is what LaTeX and InDesign are intended to do, and that's what Microsoft Word does too. Do you think Word users are only using it for a text editor?
If your arguments are: 1) Most users can pick it up easily due to familiarity. 2) Excel is a general tool usable by many disparate groups in the organization. 3) Excel is the lingua franca of manipulating data within the organization.
Then it seems to me that these would fall under the category of 'institutional knowledge', and you are in effect arguing that it is thriving because of institutional knowledge.
In many cases it's better to get somewhere quickly with excel then work out if "proper software engineering" is required than never get off the ground because engineering something is too difficult.
Think of excel like lego. Someone can quickly build something out of lego. Now if someone tried to build a cathedral from lego, you might suggest that they find an architect and do some proper house building, but without lego they would never have tried.
And chances are they're not building a cathedral.
One of my more important contributions as a fresh graduate entering the workplace was to get people to copy the file from the network share to a local drive before running. Run-times went from "leave overnight" to ~15 minutes.
1) applications/reports built by the people designing and understanding the underlying needs and inner workings of whatever they're offering. Whilst very good programmers can match this (given enough - that's a lot - time), average programmers won't even try.
2) excel sheets require nowhere near the manpower required for your alternative. That factors into a cost-benefit analysis that may not favor real development.
3) Speed of development. Markets change. Investments change. Sometimes literally in minutes. Anything involving more than 1-2 people who are intimately involved in the strategy itself cannot possibly keep up.
4) Excel is in fact a pure functional programming language [1]. Unless you deeply understand excel I wouldn't be so quick to call it stupid. There are entire classes of bugs that simply can't exist in excel spreadsheets that are regularly found in programs.
[1] http://ndc-london.com/talk/pure-functional-programming-in-ex...
These sheets are pretty good. You can really get nice app ideas from some of them: http://www.exinfm.com/free_spreadsheets.html
Not to build, but to maintain and constantly clean up the errors by using the wrong tool for the job. I know form experience having wasted countless hours because my organisation insisted on using it as a tool to upload data to our database, and using it as the database before that.
I'm not saying Excel is always the wrong solution, I am saying Excel is not always the right solution but it can appear to be. That makes it very dangerous.
The problem is Excel is easy to abuse, thats the way people know how to to solve problems so it doesn't occur to them they may need proper software to do what they need to do, not that they don't have the funds. All the companies I've worked for have had the funds.
Most organizations don't audit their spreadsheets nor keep backups or have a method of keeping track of them - the spreadsheet you get emailed may not be the current version. Its par for the course for spreadsheets to be done in a completely ad hoc manner with no controls whatsoever.
From my experience fixing spreadsheet messes, they usually waste person-hours like crazy and end up costing more than paying an engineer for custom software or getting an off the self solution. This has been my experience.
Spreadsheet abuse was a factor in JPMorgan losing 2 billion dollars in 2012, for example.
Many great projects start out as excel spreadsheets: someone has a problem, solves it with excel, then goes on to solve other problems with that spreadsheet. People use it and become dependent on it, but over time the thing becomes intractable.
At that point in time, the functionality of the spreadsheet gets implemented by actual developers into some "engineered application."
If you are suggesting to NOT start with excel, then propose another solution-- but good luck getting anyone to use it. The key thing is, no one wants to engage "software engineers $$$" to solve a problem that lands on their desk which they handle by themselves.
I often have the fantasy to write "Powered by COBOL" below the logo of my company.
The degree to which it is "proper" of course, is situational.
It IS good, for sure, but let's not forget about everything done by Microsoft to ensure that nobody else could edit reliably their files while locking the world with .doc, .ppt, .xls. The competitors never stood a chance.
How does it compare with the cost of, say, one Starbucks a day?
If you employ somebody on that salary for 6 years (so add extra employment costs including taxes, insurance, office space and perks), what percentage do you save by not paying Office's shitty price?
The real question is, if vim cost $100, would you pay or would you use a product you didn't like as much, that wasn't as efficient, or as productive? How much would you pay for a Supervim that earned you an extra $5k/yr?