Hacker News new | past | comments | ask | show | jobs | submit login

Excel literally has the power to perform better than multimillion dollar consultant implementations on all kinds of things (having been on those projects and unable to supplant Excel successfully).



But is hard to audit. Web apps are committed in Git and have code reviews and client testing. If Excel made it possible to commit the formulas into Git, it would have taken over a million of accounting apps and SAP for 50 additional years.

But the lack of reliability of “a spreadsheet made by John in Accounting” sorely limits the success it can have.


Shameless plug:

We built xltrail[0] (cloud and self-hosted SaaS) that lets you see the diffs for sheets, VBA, and a couple other things. You put in your git repo and it just works. You can also have a manual versioning option where you upload new versions of the same file and you get the same result.

We also have the open source git extension Git XL[1] that lets you see VBA diffs locally.

[0] https://www.xltrail.com/

[1] https://www.xltrail.com/git-xl


Isn't this why people always save excel files a certain points of time? So you can go back to it and see it's state at certain "commit" points?

For me, it often looks like this.

2023 Budget v3 - 2022.08.01.xlsb

2023 Budget v3 - 2022.08.05.xlsb

2023 Budget v3 - 2022.08.08.xlsb

2023 Budget v3 - 2022.08.12.xlsb

The dates indicate minor updates/changes to the data (eg. the database is different but the logic is the same). Where as the version number is a change of business logic &/ formulas &/ file architecture (so v3 files are usually compatible with v3 files, but v4 files may break everything when comparing back to v3).

Granted, it doesn't help any with collaboration. My team still passes around the "current" file and deal with read-only locking issues (we find shared mode to be highly broken and conducive to file corruption). But, it does help with auditing because we can always go back and find why a number was what it was on any given day. So in that sense, Excel documents are as auditable as open source software. You have to want to read the code but it's all there for the reading.


Integration into Office365 pretty much integrates collaboration and automatically saves every change, so you can go back to any version back in time.


Except "automatically" is always less transparent than explicit manual saves

We want to save after Big Change X has been made, not at a random interval in time.... so everyone at the office rightly disables autosave


Same. Also the problems I've encountered when one file tries to autosave, triggering a calculate before save, when I am actually working in something large that is calculation sensitive (manual calculation mode is on), and my whole application freezes/locks because it calculates when I'm not expecting it. Always happens 5 minutes before a deadline too. So yeah, disable that.

It's also a Workbook level setting so, you might have it turned off, but someone sends you a file with it enabled. For that reason, I have a macro that disables it at Open for all files (same for calculate before save, I really dislike that setting too).


I've heard traders at banks literally yell something like "Just fire the entire useless IT department and just let me use my Excel!"


The IT department is limited by Turing's famous Halting Problem:

Given a complete set of requirements and a working prototype, will the IT department ever finish writing software that meets those requirements?

Okay, that was sarcastic, but illustrates a real problem, which is that doing it in Excel is making something, whereas getting IT involved is managing something -- a category error. The problems of managing software development are unchanged, half a century after The Mythical Man Month.


I have to say, “complete set of requirements” is quite the oxymoron.


Indeed, communicating requirements is one of the hardest parts of managing anything technical. Especially if you're working with people who are a couple steps removed from the background domain knowledge.


Haha, but traders are traders. What they say is mostly an effect of whether their stuff is performing or not.


IT departments has a perverted love of locking everything down, which makes basically everything useless except what is already provisioned.

Asking for software is like a gestapo interrogation - your always not right and in the end all motives are questioned.


IT solves IT's problems by externalising the costs into the teams they purportedly serve.


Haha, I can totally believe that at a big firm. I'm at a prop shop and we're much more outcome focused than that.


I'm in energy trading and wonder what the tech setups are in other companies. Can you tell me something about yours?

We currently migrate everything to the cloud, which breaks many Excels that so far got their inputs from on-prem services or the file system. What could previously be deployed without second thought now requires extensive, decentralized cloud knowledge in each team. Power is taken from the lay business user. What took seconds in VBA now requires a feature request to a dev team.. it's insane.


Yep. We have all of our backtesting and analysis in the cloud. Python notebooks for analysis. Java for backtesting. C++ for performance critical or for where Java API is not useful.

I'm in HFT so we have software engineers available to our portfolio managers. Everything is in code.

Live strategies are deployed via a script that ultimately ssh to a machine, plops a set of artifacts in from storage, and then runs. But everything needs to restart together.


Looks at the 100-line SQL query that joins across 10 tables with 7 different WITH clauses and several random COALESCE statements sprinkled in to make the query work

Yup, so easy to audit.


Complex queries are audited all the time. Also, side-effects must be able to be audited/logged. Excel runs on thin air.


https://support.microsoft.com/en-us/office/overview-of-sprea...

Spreadsheet Compare, an official diff tool, is excellent


We store our XLSX files as XML file on GitHub and take advantage of all GH services. Excel will re-render a modified XML file.


You can use git hooks or CI tools to unzip xlsx files when they’re committed and run an autoformatter on the resulting xml files. The xml diffs aren’t the most readable, but they’re usable.


That’s not true. You can validate outcomes. This is what accounting auditors do. Do you insist in doing a code review of your bank statements?


that's what internal validation processes are for


Sounds great until you have multi-million dollar programs running off single point of failure spreadsheets with little or no backup or overwrite protection.


That sounds pretty great. I'd love to have a multi-million dollar program.


how do you do versioning and review?


You give your files helpful names like:

sales-2005-(copy)-Final-2015-(copy)-real-final-(copy).xlsx


LOL. And diffing?


There's always Spreadsheet Compare, which is Microsoft's attempt at a diff utility for Excel. It works fairly well.

https://support.microsoft.com/en-us/office/overview-of-sprea...


Why of course you open two windows one on top of another and you Alt-Tab between them rapidly to see the differences.


Not sure if serious or sarcastic because I’m sure people do that.


I do that (not just with Excel) knowing full well how ridiculous it is, but sometimes I just can't be bothered with other tools.


We built https://www.xltrail.com to make Excel work with Git.




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: