I use Excel a lot, and run a team that use it more. One of biggest tips I give is to not write complex formulae if you can help it. Split it into more cells, so it goes step by step. It looks less cool, but when you have to edit it in 6 months you will thank me.
It is not always possible, of course. But it normally is. For the edge cases a helper like this must be nice. Maybe some fields have lots of edge cases, mine has few.
Excel is often an exercise in the equivalent of writing Perl one-liners, except without the charm of wondering to yourself if you could win an IOCC contest.
Thanks for sharing.
I often have this problem in Google Sheets. So far, i’ve resorted to copying the formula into Sublime Text and then splitting it into multiple lines. Your editor looks much more intuitive.
As demo, it would be nice if one could press a button to load some real data abd formulas. I’m reading HN on my phone. I guess many people do. Coming up with a formula and example data is an extra hurdle, and doing it using just a thumb and dumb autocorrect doubly so.
I did see the screenshots on GitHub. Thumbs up for those!
In case this is helpful, you can get newlines within the Excel cell itself by doing the following.
> 1. You can drag down the bottom of the formula bar/field and make it multi-line.
> 2. You can insert arbitrary newlines in an Excel formula.
> For example:
=INDEX(
$C$17:$S$24,
MATCH(A6,$A$17:$A$24,0),
MATCH(C6,$C$15:$S$15,0)
)
I learned this from this comment from last week: https://news.ycombinator.com/item?id=46341227The "let" function may be of interest to those wanting to excel more programmatically. There's also lambda that is interesting for the more modern excel use cases.
=Let(table,$C$17:$S$24,
rowName,A6,
colName,C6,
headerRow,$C$15:$S$15,
headerCol,$A$17:$A$24,
rowIndex,MATCH(rowName,headerCol,0),
colIndex,MATCH(colName,headerRow,0),
index(table,rowIndex,colIndex)
)
or even
=LAMBDA(table,rowNames,colNames,rowToFind,colToFind,
LET(
rowIndex,MATCH(rowToFind,rowNames,0),
colIndex,MATCH(colToFind,colNames,0),
INDEX(table,rowIndex,colIndex)
)
)($C$17:$S$24,$A$17:$A$24,$C$15:$S$15,A6,C6)(Also alt+enter to input the newlines)
I haven't been able to try out the OP's link yet (I'm also on mobile right now), but for your current usage of splitting formulas across lines, I've used this tool a bunch to do that for me: https://www.excelformulabeautifier.com
The animated gifs on your readme are completely useless. They change way too fast to read and there's no way to pause it.
Either make it a video so you can pause it or just have static screenshots without animation.