Excel Never Dies
notboring.co
notboring.co
For example, if any of you play D&D online, you might be familiar with dndbeyond's character sheets. They're a fantastic way to onboard new players who might not have the inclination to spend hours with the rule books before they even start playing. It does all the calculations for you and gives you some buttons like "roll athletics" and doesn't let you add more spells than your character can have with their stats.
I recently persuaded some friends to give FATE a try and built analogous push-button character sheets with google sheets [0]. It was quick and simple. With conditional formatting, you highlight bad states (rules say you can't have more of X than Y!). With the script editor, you can add full on buttons for dice rolls and other state changes with whatever logic you want (anything you can code up!). Checkboxes are obvious but super useful. And the transparency of the calculations is helpful for teaching people the system (this stat is "min(A4, B1+C5)").
Without google sheets, it would be a serious endeavor to build a stateful, database backed, live collaborative GUI that can be added to and customized on the fly by my users. With google sheets, it was a quick fun afternoon hack. Excel/google sheets is an amazing piece of technology.
[0] Screenshot of the "app": https://raw.githubusercontent.com/imh/public_images/main/Scr...
If spreadsheets were two-way connected with your core systems like SaaS tools, DBs, Slack, etc then you could represent serious business logic and actions without being a programmer. It is the best platform to build a "no code" tool for non-programmers.
I am curious about one aspect though: Debugging spreadsheets is seriously hard. How do you help customers verify their spreadsheet has the right things they are looking for, avoiding regressions due to a random change by some inexperienced person, etc.?
Also, at what point do you see companies move from spreadsheets to simply hiring developers to do what they want? It seems like beyond a point, spreadsheets can get in the way, and the company has enough resources to hire a team to build custom internal tools.
Good luck with Coefficient!
Spreadsheets have many problems. We are going after their "connectivity" to the rest of the company systems. Hidden errors / debugging is definitely another big problem which we are only tangentially solving. If your data is imported into the sheet through Coefficient (instead of a copy-paste of a downloaded CSV), then you can always trace the lineage/timestamps/etc all the way to source.
As for hiring developers, the truth is that day-to-day business needs grow faster than you can hire devs. So yes, at a certain point companies move some workflows to dev-built tooling or specialized SaaS tools, but their bucket of unhandled workflows still grows larger every day. That is why you can't kill spreadsheets.
The problem starts when whatever frankensheetvbasharepointdb is now an engrained part of a workflow, excelbizdev has disappeared, and 'maintenance' falls to nonexcelwhizz, or perhaps worse, a dev team that lacks much legacy business understanding to figure out why the particular implementation was done, screws up understanding, and creates something worse.
> Does coefficient.io work with MY system?
What databases can you connect to?
Tried fillable PDFs and a bunch of online stuff. None of it worked well. The spreadsheet fields' font sizes were all weird, and even if you manually correct them it would reset on every edit. There were some promising web-based options described as "responsive character sheet", but they tended to fall apart at large text sizes.
Best option? A spreadsheet from Knights of The Braille: https://knightsofthebraille.com/59-2/
Instead of trying to shove an 8.5x11 paper layout into a phone, it just groups stuff into tabs that make more sense anyway. And if you were completely blind I bet it's still easy to navigate with VoiceOver.
We're using Numbers because it's what we both have, but I think Excel should work similarly.
If anyone's reading this from the Google Docs team, please take another look at Sheets' pinch-to-zoom behavior. That was the first place I ended up when I went looking for character sheet spreadsheets online, and it was the first one I ruled out because of how shitty the experience was on mobile.
My last five uses of excel are widely variant in theme:
- validate my taxes make sense
- track Bloodborne platinum trophy progress
- collab with wife on Christmas gift planning
- estimate lumber purchase for project
- collab with coworkers to explore ota data culling options.
2. How does the UX for your R solution to the "DND Character Generation" problem compare to the screenshot from grandparent comment, for users not familiar with either R or Google Sheets?
I mean, I work with laymen that use Excel to encode multimedia content state machines and its not pretty (dreadful bespoke schema with all the caveats you can imagine) but it satisfies their need
I don't usually have that problem. Inserting or deleting rows or columns around the cells doesn't break these formulas. Only changing what type of information a cell contains would. Does this happen often for you?
And you can just name a cell or range if you want to use a variable name to refer to some data in a pivot table or formula.
I mean, this is I reach for Pandas over Excel, but most people would be infinitely more comfortable with spreadsheets than specialized tools. Spreadsheets also happen to be useful enough for almost everybody.
- It forgets what you've copied to clipboard. Copy something. Insert another row so that there's space for it. Paste. Nothing happens. Huh? It lost my copy. It does this for a large number of operations and it drives me crazy. I've never seen any other program do this.
- You can't open two spreadsheets of the same name. This is because spreadsheet formulas can refer to cells in other tables. But I don't use that feature - can't I just open the second spreadsheet with a warning that this feature won't apply to it?
- (This one applies to too many pieces of Microsoft technology.) You can't use common keyboard shortcuts properly. Ctrl-backspace deletes a word in any useful text box. Not in formula editing in excel. And ctrl+delete deletes the rest of the line instead of just the next word. Why?
Try 'WindowsKey + V'.
It'll bring up a list of your previous copies. Not as easy as 'Ctrl+V', of course, but it does save a bit of time. And yes I agree, Excel's Alzheimer's is quite annoying.
[1] https://superuser.com/questions/611854/prevent-excel-from-cl...
[2] https://web.archive.org/web/20160725070440/http://discuss.fo...
- Excel hates text cells containing numbers. It whines about it all the time and eagerly changes the data to what it thinks it should be.
- Excel doesnt get it if a sheet contains a data table with consistent formatting. Just recognize it and store it internally as a small Infile DB. Often, an Altertx table will blow up 100-fold when exported to Excel.
This is definitely annoying behavior, but you do know that if you format the cell as text prior to pasting the data in it will keep it as text, right?
This only works sometimes, and I have no idea when or why.
The most reliable way I've found is to copy more than one column and use the text importer thing, where you can specifically mark columns as being text.
What's more interesting is reading those dates by the COM interface. Depending on how the user input the data, you'll get formated dates as text or seconds since the epoch as number.
Say you have have Excel Process A and Process B, and you make an edit in A, then an edit in B, then an edit in A again. If you try to undo the edit in B, it will instead undo the edit you did in A. Infuriating.
Pasting the possibly modified value is, IMO, always undesirable; so you can ignore the possibility altogether
Edit: the better way to say this is that "copy (do something) paste" should always act the same as "copy, paste on a new blank spreadsheet, (do something) and then copy and paste that onto the original spreadsheet".
When implemented normally, ‘copy’ puts a copy of the selection on the clipboard; ‘paste’ takes whatever was on the clipboard and puts it at the current location.
Once you copy, it shouldn’t matter what you do on the spreadsheet, because you’re pasting from the clipboard.
Normal behaviour can be emulated by copy+pasting into a blank spreadsheet when you want to copy, and then copy+pasting from there when you want to paste.
But then you’ve just turned that spreadsheet into what the clipboard is supposed to be.
I really wish the default is the other way around. When I do want to add other cells, more than half the time there is a better way than using arrow keys.
To me it is a feature, not a bug. But yeah, F2 is fairly easy to use once you get used to it. Its like using VIM, the shortcuts seem annoying to the uninitiated, but once you get understand how everything works, the power can really speed things up and you appreciate it.
In many cases you are just not fully up to speed with the features in windows / excel.
Google Sheets has a killer feature that few know about: you can attach Apps Script (JavaScript) to a sheet [1] including a "fetch" function to make API calls [2].
While Excel has a show-stopping preposterously ridiculous behavior: auto-converting long number strings to "scientific notation" (and even data loss rounding!!) [3].
1: https://developers.google.com/apps-script/guides/sheets
2: https://developers.google.com/apps-script/reference/url-fetc...
3: https://excel.uservoice.com/forums/304921-excel-for-windows-...
For Power Users of excel, google sheets misses the following:
* Inability to import large datasets - number of cells limit is much smaller and there is no ability to support larger datasets (eg powerquery in excel). This means while sheets can typically handle 100k rows (with 10 columns), excel can handle well over 10 million (with hundreds of columns).
* No dynamic array formulas - in google sheets they are all “drag down” while in excel formulas can be created which expand/shrink according to the data
* No ability to handle relationships and measures - Excel has the capability to define relationships between data similar to a relational DB allowing for more powerful querying.
* You can’t send a google sheet on email - important for big companies!
In terms of a JavaScript API - excel has one for their web app (also called app script!), it’s just not supported on their desktop app yet (although this is being planned).
Why send an Excel via mail? If you make changes, you have to send the file again and you can't collaborate with others.
That's what the share function in Google Sheets is for :) If that doesn't work, you can still download the file as .xlsx and send it via mail.
It’s a complex problem to manage all of the cell references in a dynamically changing spreadsheet and early on the Excel team chose to keep it simple.
You can see a version of this if you do a cut > paste. The source does not move to the clipboard, it just gets highlighted. When you paste, Excel does a move operation that adjusts the references on the fly.
This makes excel open in a separate instance
Earnest, non-"gotcha" question - what is it about Google Sheets that you dislike or find irritating? I'm only an entry-level user for both, but I've found them of similar quality and functionality.
How is the number of rows related to cloud-based?
Even silly little things, like the fact that Sheets doesn't have an indent function, which makes it harder to neatly format financial data. I think the accepted workaround is to manually put spaces in front of every single row you need indented.
I am at a new company now and I have yet to figure out how to create the "export to onedrive/excel" command. Google libraries to google sheets seemed so much more competent and well built. (But maybe i am biased...)
One can customize the ribbon at the top for must used functions, which can make Excel such a fast tool to use compared to Google Sheets or even Excel for Mac (speaking as a Windows user).
If I had a big Excel project to do, and I had the choice of 1/2 day on Excel (Windows) vs. a full day with Google Sheets or Excel (Mac), I would pick the 1/2 day with Excel (Windows).
I used to sometimes have to run massive spreadsheets. But these days, I mostly use it for things like personal activity tracking.
Using Tables in Excel is a gamechanger. Not having support for them is a huge point of frustration for me whenever I have to use GSheets. 95% of that is the fact that I can refer to the Table and columns by a given, logical name rather than having to use arbitrary cell identifiers.
It's a kind of tongue-in-cheek video explaining why "You Suck at Excel", but what it's mostly doing is going through a ton of really awesome Excel features, many of them things you can't do in Sheets, and explaining them to a technical audience.
Highly, highly recommended - most of the stuff in that lecture I use every single day.
That said, the multi-user editing is much smoother than excel and the remote API is better.
The other issue is that you don’t see as many power users of Google Docs and Google doesn’t have a clear strategy. For example, they could easily make a power bi type tool on top of Sheets and Slides.
Looker is a third party solution right? Or does Google offer Looker directly in some way? If you're up for sharing the pricing for looker, I'd be curious (the looker website has a request quote button, so I'm guessing it's not cheap)
This could be very powerful. It would help Excel to be repurposed to potentially something greater....
Of course, Google Sheets and Apple Numbers should tap into that same functionality...
SQL is useful to know, but it's hardly necessary in today's world.
Where Excel falls short, is data size limitations + auditability. Putting more than 1M rows of data into Excel is not possible, and once you get into the low 100K's, it becomes almost unbearable. And handing off an Excel workbooks to a colleague is handing them hours of cell dependency tracing. On the other hand, data size + auditability are the super powers of Python data analysis.
I've been building a Python package, Mito (https://trymito.io/), its an interactive spreadsheet that automatically converts your spreadsheet analysis to the equivalent pandas code. You can write spreadsheet formulas, merge datasets, create pivot tables, etc. And because its implemented in Python, you can manipulate datasets with 10M rows of data with no problem. Our goal is to bring the intuitiveness of Excel data manipulation to Pandas.
I dispute this. Yes, the normal spreadsheet view of excel will buckle under 1M rows, but excel has another feature called "Power Pivot" that is backed by an embedded database and scales into the high millions at least.
I've personally used excel on a dataset of 18M rows and PowerPivot handled it just fine.
[0] https://support.office.com/client/Data-Model-specification-a...
[1] https://support.office.com/client/power-pivot-powerful-data-...
Any day: rmarkdown and csv
But yes, big fan of vertipaq which I believe also powers PowerBI.
I had to port some stuff that was using the google sheets API over to manipulating xlsx files instead, and it wasn't a big deal.
The value Excel provides far outweighs the drawbacks of a vendor-specific solution.
A business might want to get to improve, say, their quoting accuracy. I've seen lots of places that write quotes using Excel. They use a complicated spreadsheet to estimate "We need $4500 in parts from vendor A, but in previous projects with components from vendor A often needed rework, so we multiply their quotes by 1.5 to account for the risk and for someone (typically Bob) to rework them; Bob's workload is over 90% and he's less efficient when he works overtime, so multiply his total hours by an additional 1.25, we also have to adjust his hourly rate by 1.5 to account for overtime..."
It's a Hard Problem to convert the quoting process from one of a few engineers who also do quoting by copying and modifying the blank Excel template and years of human domain expertise into a process where data entry techs input stuff to a CRUD webapp. This is fraught with peril because the Javascript/SQL guy you hired to write the webapp (or, heaven help you, the SAP consultant) hasn't been reworking gear from Vendor A for 15 years and sees what looks like an error when the formula for actual cost from vendors B, C, and D takes their quote price multiplied by 1.1 (for shipping? margin? ) and vendor A's quoted price is multiplied by 1.5, and, hold on, the VBA macro separately takes the the estimated dollar amount purchased from Vendor A, divided by 2000, and adds it to the head of maintenance's estimated hourly total for the project?
Making business decisions about logic tied up in Excel formulae is hard. Writing logic in something other than Excel where you can more easily see the business logic is probably harder. Convincing non-technical decision makers to learn VBA to evaluate their vendor selection is probably harder still.
It sounds like VBA has allowed that team to build an advanced prototype of a quote generation web app. The next step seems to be to convert the Excel formulas and scripts into JS or Python. Quality assurance may be a hassle, but that is to be expected with any kind of refactoring.
The key difference is that the Excel spreadsheet is not a prototype: It's an MVP, which includes "viable"; many businesses have been making money with them for years. Another key feature of the 'prototype' is that the team is able to edit the Excel formulas, but burying the formulas as JS or Python (whether locked away serverside or simply obfuscated by nature of being different language with a new learning curve) removes a critical feature.
Would love to hear a bit more about your workflows where you're trying to process an .xlsx file in another system. I'd imagine it would be a nightmare, but haven't ran into it myself :)
The dark pattern is in repeatedly nagging me about this fact.
Yes, Pandas has a learning curve but so does Excel once you get into advanced functionality. It's inevitable. Once you get through this it's a fairly intuitive powerhouse.
I think the way that Mito tries to walk the line is by making the Python code visible for the user to see what the equivalent Python looks like + easily usable in your analysis, but also completely generated for you. So hopefully, we're not introducing the confusion of pandas into your workflow.
Could you elaborate on this please ? I work with a lot of datasets, and have found python + libraries (plt/pd/np/scipy/regex) to be far more useful. But, that might just be my inexperience with excel.
Can you give a few examples of analyses that work better in excel than python ?
It's not about which analyses are more performant/easier in one object versus the other, it's how do you most easily introduce the general audience to big data, both reading, manipulating, and transforming.
I actually disagree with their statement tbh, as I think that it's too nuanced of a situation to scope like this.
I used to work in a university, and depending on the dataset and the intended output, I would switch between R and Excel for the students. Those who needed R level analysis eventually saw why it was more useful for them than Excel and got good at seeing when to use R versus when to use Excel.
Those who had datasets/output goals that didn't need heavy lifting really just needed Excel. It's not incorrect to say that learning heavier tooling/languages is a benefit, there is also a time consideration to learn and become efficient at a given toolset. The heavier toolsets have their nuances and accomplishing the same task in less robust toolings like Excel is the more efficient and better approach for those who have extremely limited time and for those who are not likely to need the heavier toolset in the future.
It's just a simple cost benefit analysis -- what tool is going to give the best return on time investment?
There is a very valid and reasonable argument that investing into the heavier toolsets will eventually reach a point where even the simple tasks that Excel and other tools allows users to perform more easily with less knowledge is faster/better with the heavier language; the question is "when is it optimal for a given person to invest the time to get to that stage?", and that's a question that doesn't always have all available data to make an informed decision on since it's hard to predict the future.
Because you can think of Mito as a frontend interface to Pandas, using Mito doesn't prohibit you from building intuition or analyzing your data in the same way you would if you didn't have the spreadsheet frontend. It just helps you write the Python/Pandas code faster + see the most up to date version of your data set in live time.
The typical Mito user uses Mito multiple times throughout an analysis. A common pattern is: start by just visualizing the data in Mito, create a few graphs to help understand the distribution using matplotlib (right now we only have a tiny bit of graphing support), passing the data back into Mito to do some filtering and cleaning, then lastly creating a pivot table output using Mito. Of course, it varies greatly from user to user, but that's a general flow we see often!
I agree, SQL is what I like more for mangling. Except for the pivot/melt part that is
For us we are going the opposite approach, we are building a VB interpreter to make it easier to run, build, and extend existing Excel programs. We allow calling libraries written in WebAssembly and GraalVM supported languages.
Now someone with a bit of balance, can go quite far with it.
I’ve been fairly happy with the default Matlab IDE personally. Visibility and representation of data has the straightforwardness of a spreadsheet. But surely there must be others?
Hot reloading is most famous for being a staple of Lisp languages (but they tie it to the repl rather than as a standalone feature). For Microsoft languages this is provided by Visual Studio (commonly known as edit-and-continue, it is available in some form or other since the original VB days). You can try it out with the embedded VBA interpreter in Excel (under the Developer tab).
For JavaScript this is a recent innovation (driven primarily by the React/SPA crowd). In Java, most IDEs have the feature but it requires a fair bit of setup and configuration (look up hot swap for Intellij). The closest thing Python has is Jupyter which admittedly is not that pleasant to use.
Lisp has a function called LOAD, which can load source and/or compiled code.
RMarkdown + RStudio + knitr
yihui.org/knitr/options/#language-engines
I once made a SAS engine to show coworkers how to adopt report automation without having to rewrite all existing code.
I personally grew so frustrated with the state of GUI development in Jupyter that I tried to fix it in such a way that would allow proper message passing between cells and python code (because you can't wait on Comm events).
> https://github.com/ipython/ipykernel/pull/589
But sadly the priorities of big open source projects don't always match your own. So I had to extract that logic into my own kernel.
1) Mito is an extension to JupyterLab whereas Visidata is a CLI tool. As a result, Mito is a react frontend that is more of a traditional Excel-styled spreadsheet interface. You can use your mouse to perform point-and-click transformations, like writing configuring pivot tables or writing spreadsheet formulas.
2) Mito generates Python/pandas code for every edit the the user makes. So users are generating a script to manipulate their dataframes, running that script, and then continuing to use their dataframes throughout the analysis. People use Mito in a Jupyter notebook the way that they use pandas code, multiple times throughout their analysis, interspersed with graphing, ML, etc.
We're also considering open sourcing the tool, and doing the classic Enterprise Sales / consulting / other value add services on top.
If you have ideas about which direction to take it, would love to hear!
The non technical director has calculated every possible route line required for our CNC process. This is something that would be very hard to do in a conventional programming language. He did it with no coding background and it's one of the most maintainable pieces of software in the business. It's all laid out in front of you. If they need a diagram to explain something, it's there inline. There are no unreadable long nested if statements. He didn't even know you could nest them. It is truly amazing, I've not seen anything like it. I've seen plenty of train wrecks where people try to run other parts of the business through excel.
I've mostly made a living by being an engineer who creates proper, focused software tools for other engineers to use, and almost every program I've written is because there was a crappy Excel tool trying to cope with the problem, and falling over due to size and unshareability. That's when I write a website in Rails, or a WinForms .NET application, keep adding features until users stop asking for fixes, then move on to the next one.
Of course, there's been ebb-and-flow in my career, but the bulk of it has been driven by the fact that Excel is so seductive, and easy to start something useful. Then, like a lot of Microsoft products, leaves you hanging when it's time to get serious. So, credit where it's due. Whatever you can say about it's shortcomings, they've been my bread and butter for 27 years, and counting.
This is like a moving company saying their small moving vans "left them hanging" once they outgrew them and started doing national vs. local moves. A tool that proves useful at one stage is not useless because it can't be as useful at ALL stages.
The great thing about Excel as it enables you to do the one thing that kills most start-ups, projects, etc., which is simple to start.
I thought you were going to say taxes and bookkeeping. :D
I'd argue that award should go to the real pioneers of spreadsheet applications: LANpar, VisiCalc, and to an extent Lotus 1-2-3 and LoGisTiX. What has really stood the test of time is the concept of spreadsheets, not anything specific to Excel.
Excel didn't do anything particularly revolutionary, it didn't set out to "influence" anything. It just competed on feature-matching and cut-throat commercial practices until all the others had died. A great achievement for sure, but praising that over VisiCalc and Lotus is a bit like praising Toyota over Henry Ford when it comes to automobile production chains.
Excel only won from the years of longevity provided by a deep pockets company with a vested interest in extending its monopoly, with a little help from Lotus who really dropped the ball on the switchover to GUIs
So the normal excel formula in cell b1 of "=sum(a1..a26)" has it's output written to b1. But with calc you could in cell b1 put "b2=sum(a1..a26)" and the result would be written to b2.
This became super powerful when dealing with ranges. You could have 1 formula that that calculate the row-wise total for each row... and it would be in 1 cell, so for example "$1..$10=sum($1..$9)" (forgive me I can't recall the addressing specifics for relative/fixed/named ranges).
It was pretty amazing at the time.
And I keep hearing the same arguments, like "it can be used without knowing how to program" - but have you actually seen those formulas they enter? How exactly it differs in complexity from, say, SQL? At least in SQL you'll have sanely named columns and can actually see logic, reading it a month later.
Mixing datasets and freeform reports in the same sheets is a design mistake. Having auto-conversion for data is a design mistake. Not having enforced row/column sets instead of just typing any formula anywere is a design mistake. All that leads to millions of wasted hours of human life just looking closely on rows and rows of numbers with squinted eyes, trying to figure where accidental keystroke had broken your data.
I really liked how MacOS Numbers approached spreadsheets, before they were somewhat butchered for ipads and excel compatibility: spreadsheets were not "infinite", separating concept of tables from concept of pages; column and row headers automatically used as names in formulas instead of undescriptive A1:B2 format, making them actually readable.
Unfortunately it was also slow as hell.
Airtable is a good direction for data entry purposes by multiple people, unfortunately it's no good for even medium sized tables, and exporting is limited.
It’s a refreshing rebuke to modern convoluted toolchains, binary signing, prohibitions against doing this or that, all the ceremony of modern programming. It goes directly against the trend to make computers increasingly locked down in functionality, mere appliances for passive consumption by and harvesting of data from the masses. It’s like giving everyone in a desk job a Leatherman multitool and a lighter. A bicycle for the mind in actual truth. Permissionless innovation at its finest. Excel! Excelsior!
Also excel has (inner) tables inside of tables, with more restrictions that. Also excel even has SQL-dialect for querying columns. That's not important, important are defaults, and how your simple spreadsheet you can fit into a screen is going to evolve. Excel makes it VERY hard to not make a mess, even if you have time to learn it.
A year later, I got interested in neural networks, and built back-propogation models in Excel on the mac. Yes very SLOW but still a great way to learn.
As side project ten years back was to leverage Excel's native web query (IQY) mechanism to build a profitable SaaS company just based upon letting users get data into Excel from various 3rd party social media and analytics platforms.
Now I work in big oil and our team basically turns Excel models that users create into scalable data warehouse apps.
Even after years working with Excel, I still consider myself a journeyman.
After all 90% of web apps are just forms with some validation and lists of things - a spreadsheet can do all that with greater flexibility as a bonus.
It wasn't easy, and there was a lot to figure out, but the end result is starting to look pretty simple:
I love the premise - will give it a go.
Speadsheets are great at a lot of things, but data validation doesn't tend to be one of them. In fact, I'd argue that's one of the main reasons to move off of spreadsheets: to make your data more structured.
It may well be possible to create a spreadsheet-like UI that is good at these things though. And I can certainly see that being successful. It'd be difficult to tradeoff flexible vs constrained though.
What limitations are you thinking of? I can go to Data -> Data Tools -> Data Validation and restrict to whole number, decimal, list, date, time, or string length. If that's insufficient, you can create a custom formula which has to evaluate to TRUE for the input to be considered valid. Regex isn't supported out of the box, but quite a number of string functions are, and there are readily available Regex user defined functions (VBA called via formala) available online.
You can also customize the error alert that would be displayed to the user if they try to input something invalid. I think it'd work quite well for many MVP/single page web apps.
It's what a sufficiently motivated incompetent person can do to your data with the tools.
Infinite flexibility in the tooling means infinite ways to mess the database up in subtle and/or irredeemable ways, and a formula in a cell or even a regular expression are not great ways to tidy up real-world data, you often want autocorrect, autosuggest, defaults and friendly error messages for bad data rather than just ERROR IN CELL G91. When you reach that level of complexity it becomes much harder to build something useful with a spreadsheet-like tool alone.
It is a really interesting idea though and for certain classes of data could really work well.
If that functionality existed and was easy to use, it could have been a very convenient option for businesses running their operations on Access database and looking to take advantage of mobile.
I know Microsoft has InfoPath and Forms, but those aren't Access, so they're not going to be as popular.
Yes, there were plugins to support XLSX (and even ODS) in Excel 2003, but it wasn't well-known.
Excel only keeps the first 15 digits of any number you give it [0]. If you want to keep the full number, you have to store it as text instead. And then you can't perform calculations with it without converting back to a number and losing fidelity.
The two most prevalent data types in business are numbers and dates. It's incredible that Excel is rubbish at dealing with both and yet the world thinks it's the gold standard for doing "business-y stuff" in.
[0] https://docs.microsoft.com/en-us/office/troubleshoot/excel/l...
It's amusing because real world JSON has exactly the same contraint, and that's arguably the most common data exchange format in the world now.
I lost days trying to locate a non-existent problem due to this "feature". Not to mention a stakeholder breathing down my neck.
Exchange rates are usually 4 digits. So where does the other 11 go and why do you need it?
For example, this 0,00000000001 of a dollar?
It's hard to imagine now but at the time PCs were command-line only and the early Excel versions, at least the one I saw, booted up a runtime version of Windows just to run Excel. I'm not sure whether they ported it over from MacOS to that special version or what but it was shocking to see.
It is sad, but at the end of the day, however bad Excel is for life sciences data (to the point where standards bodies renamed genes due to autoformat issues!?), it ends up being better when usability and bad data edge cases are considered. Defaults matter for non-technical users, and even asking them to change the format they save in to csv is likely to cause issues because it is one more manual step that can go wrong, or there is some locale nonsense that will cause something to break etc.
The key is that a single script defines the entire workbook's logic, then data sits externally within a giant JSON object.
I'm trying to find a balance between the engineering concepts (source control, data versioning, audit logs) and productivity (how easy is the language and related tools).
I'm currently working on a editor for board games where I get playful with how to build UIs for the language. It's fun, but I'm wondering if I am re-inventing hypercard.
http://www.adama-lang.org/docs/why-being-lazy-is-key
One mental model is that the entire document is just an Excel sheet that you can send messages to and learn of updates reactively.
It becomes a pain when you're trying to use it to enforce workflows, across multiple people.
The problem is that it works "well enough" that building a proper data model/system to replace the spreadsheet workflow is not going to get prioritized because it already sort of works and there are likely bigger problem areas in the org.
It's a pretty classic problem where something enables you to solve a problem fast and well enough as to often preclude an excellent solution.
On the flip side, if something is new/evolving and is handled in excel, it's a mistake to try to tighten it up in an application right away because you are going to end up evolving the app at a cost whereas evolving the spreadsheet would have been nearly free.
You know you've won when there's a special interest group (with a yearly conference!) focused on risks the software is creating http://www.eusprig.org/
You can show them an .xlsx, and there is no fear, and thus some chance of user acceptance.
There is enough structure that you can process it, and enough programmability to get by.
The format is broadly accessible across platforms.
It's not perfect, but it's a great going-in position.
1. Remove the ability to save workbooks. This would keep the excel in organisations where it excels (pun intended), namely quick & dirty sketches and visualizations. If you need something twice, it is likely you need that more than twice and you should be using something else.
2. If not that, give me a worksheet type that forces each cell in a column to have same formula or data type. and just a sheet that you can refer to as any other sheet, not a powerwhantnotthingy.
3. Version control. Seriously, Microsoft, what on earth are you paying your excel developers for if not this?
However, not sure that these three points hold for the type of financial modelling work that is done in Excel today. There isn't a great unbundling of Excel for the LBO, etc world (yet), so the inability to save or have columns with multiple data types/formulas seems quite limiting for that world.
(the first one was admittedly a bit tongue in cheek.)
I think this is provided through either OneDrive/SharePoint or some other offboard solution. Do you really want Excel to have a native version control system? Seems like other solutions would always do this better.
(I have not been using excel as anything but a scratchpad in years, so I may have missed some cool new features)
It was programmed with VBA and ran on top of Excel. The UI was a sheet of buttons and the results were outputted to a tab on the same sheet.
I even added a cheapo webcam to it, which would record the phone display during tests and save the .avi file if the test failed.
Have you tried running an older version of Excel (2007 era) even in a VM? It is lightning fast. No cell-movement animations and this unibar crap at the top, saving a file is 2 clicks away unlike the newer version going off to the cloud, making requests and having to back out to save locally. WTF.
Excel is an amazing app. UI engineers and PMs at Microsoft are trying to kill it.
https://cbi-blog.s3.amazonaws.com/blog/wp-content/uploads/20...
Now someone make that for web apps that began as an excel spreadsheet.
Or even better, ML projects that should have stayed a simple spreadsheet.
And nobody is using it for actual calculations, which is what spreadsheets are for.
I would really, really like a flexible database with an Excel-like front-end and easily-definable columns that make use of foreign keys, so we can actually maintain some data quality here. And what I'm looking for sounds so obvious that I have a hard time believing there's not already a good open-source solution for it, but I have no idea what it is. I'm this close to just building it myself. Anything to wean these people off their Excel addiction.
I tried to use Google Sheets, but nothing matches the speed of popping open excel, and the functionality (still can't do 2D TABLE solvers in Sheets AFAIK). I know Sheets can work offline, too, but it is sluggish compared to native Excel. I had issues for years with Excel on Mac doing wonky things, but with the latest non Office365 version, they've fix a lot of issues (mostly rendering).
I got into JMP but only because my employer paid for it (it's like $15k i think), but while it is powerful stats engine, it lacks the sheer imaginative flexibility of a spreadsheet.
There really aren't many other choices, are there? I mean, prior to excel, lotus123 was de-facto, and the last time I tried StarOffice it hurt my soul.
It often feels to me that in the last several releases all that's been done is apply more and more lipstick to a pig that's already 90% lipstick.
I recently fired up excel 2003 on a whim (yep, I'm that much of a party animal.)
MY GOD. It was blazingly fast. Beautiful. Usable. (If you ignore the fact that the one good change in the last 2 decades is the XLOPER12, allowing >255 rows and lots of columns). (X)
(X) Yes, Lambda looks interesting, but HOF aren't really necessary in basic sheets, I'd rather they got it usable first.
I never got into spreadsheets because it seemed unnecessary after learning how to program, but I end up missing out on applications that might work in excel but which I don't care enough about to hand-write.
It highly depends on what work you need to do, but in general I use Excel for quick and dirty data crunching where the number of rows isn't that big (<100,000) and I don't expect to need to repeat the analysis often. For example, as a cyber security analyst, one-off sifting through some CSV format logs. Being able to do some basic transforms on the data with the benefit of real-time visualization is nice.
Every other calendar's interface and customization seemed like a limitation rather than a feature.
The simple view is that all you need is: (1) One main UI component, "the cell" (2) a domain specific formula / programming language (3) the underlying reactive system that tracks cell dependencies and updates them, etc.
Posted here but didn't get traction: https://news.ycombinator.com/item?id=24980325
The reductionist view of it is that it's a workspace for crunching numbers. But in practice, Excel is sometimes used like a frontend for a database engine, with sometimes heavy scripting to integrate into software processes and workflows. I think Excel's ability to stretch beyond what anybody would still reasonably consider the scope of "spreadsheet software" is why Excel is as entrenched as it is.
I don't think many programmers see it as a safe or ideal way of handling the kinds of workloads that people use it for, but I think we all acknowledge its unmatched ability to let non-programmers automate data crunching.
So no, even if Excel died we'd need something much like it the next day.
BTW XLWare makes a great library LibXL to create genuine .XLSX files from a program.
Would love to do the complex calculations in Python instead of using VBA.
All office file formats have stopped document and information processing and search way harder, and have been a lock-in pox on the world for, what, 3 decades now?
Many hate it but it sure is an easy way to build an entire data entry/CRUD app without any programming knowledge.
They know that it can't work with huge amount of data, but they do know they could have their internal tech team upload the data into their database and send them a snippet of the data.
/s
VBA, and the built-in DE for it, isn't great, but you can program Excel other ways (Office Add-In, xlwings, etc.)
Excel born in 85? Ok, but spreadsheets were around long before Excel
Excel is a low-dimensional, untyped, flat database. I couldn't think of something worse. It has been successful only because its design mimicked traditional accounting books. But for more complex datasets, ugh.
Back in NeXTSTEP days there was Lotus Improv (and later Lighthouse Design Quantrix). It permitted high dimensions, true names for rows, columns, hypercolumns, cells, and so on, and sophisticated modeling capabilities. It was, clean, required none of the ugly bug-filled hacks you see in Excel, and very easy to get your head wrapped around. Of course it's dead now.
Do named ranges in Excel not match some of what you're after here?