Sure, it'd get the job done, but the successor would have to rewrite it, as it can hardly be documented, plus, from personal experience, people who are versed in Excel trying to tackle data problems at companies have come up with rather brow-raising solutions. (What's this MySQL you speak of? Does it work with Excel, too?)
Programming is not just hammering away in [language], it's deconstructing a problem into smaller, less complicated problems, to generify and abstract away common properties to allow for repetition in similar contexts. It stimulates efficiency, speeds up rote administration tasks, and allows the programmer to learn something new each time he tackles a new problem.
More so, the writing of code should enlighten a person to write readable functionality, as code is read, compiled code is executed. Using clear and descriptive terms to state the moving parts in his solution, using verbs in function names, not abbreviating unless absolutely necessary, are all tasks that should allow for a person to better state his problem domain and its intended solution.
This is exactly what you learn in Excel. How to take some data, transform it slowly (column by column), check your work, save intermediate results, etc.
In minutes you can go from your idea to some crude version of it. Then you refine it.
Look, Excel is like LogoWriter. We're not asking people to design rockets with it. But it's a hell of a lot better than sitting them in front of a terminal and asking them to learn about variables, loops, print statements, etc. Excel is type and go.
You wouldn't believe the kind of behemoth Excel monstrosities there are out there. Because when your only tool is a hammer, everything looks like a nail...
Perhaps "teaching them Excel" will lead to a deep understanding. Perhaps "teaching them Excel" will just be like how I "learned" Excel back in high school- a teacher standings in front of the class just saying "press this button, now press this button."
Excel abuse was cited as a part of the reason JPMorgan lost 6 billion dollars.
I don't know...
Excel's strength is that people are actually productive enough to start using and make something useful. Whether people make substandard houses with a hammer isn't really the tool's problem. Being too difficult to pick up is.
You might argue there is some quality bar that should be met before a creation is put into production, which is fine, but that's independent of the tool used to make it.
In python you'd search the official docs (right? Why should I google around random forums) and get presented with this:
https://docs.python.org/2/search.html?q=average
Nothing helpful at all. A regular person thinks "take the average" and programmers think "build up a result from a set of primitives, like loops and arrays". Total mental mismatch. Way too low on the abstraction chain, I just want a friggin average.
There is literally no article or tutorial in the python docs explaining how to do this grade school operation. Imagine how frustrated you would be.
In Excel you type average and get inline help in the IDE, an example (you can copy-paste), related functions, etc.
In 3 seconds you have contextual help extremely relevant, and you can see syntax errors as you type.
For a new programmer, Python is effectively undocumented.
Excel is awful, here's proof: If I open up the documentation for Windows, there's nothing about average. I hit the Start menu, I type "average(1,4,6,8)", and I get, nothing.
What you like about Excel is that it is an IDE. And IDE that makes simple things simple, and hard things back-asswards (VLOOKUP??? CONCATENATE?? filters)
http://docs.scipy.org/doc/numpy/reference/generated/numpy.me...
Sure, SciPy can take an average (not Python proper). How is the user supposed to know to visit a non-standard Python module site and search there? How about the next commonly used function, like charting. If I search "bar chart" which Python module site should I magically know to visit?
VLOOKUP (Vertical lookup) isn't the best name, sure, but "lookup" is in the name. It's another keyword to learn, like "foreach".
Try modeling a multi-actor process. It's representable, but not a model. Better to represent in a swimlane diagram.