Remix.run Logo
Show HN: Frockly – A visual editor for understanding complex Excel formulas
45 points by jack_ruru 7 days ago | 10 comments

I built a visual editor that represents Excel formulas as blocks, making it easier to inspect, refactor, and reason about complex formulas structurally. Frockly is not an Excel replacement. It focuses on understanding and refactoring formulas before bringing them back to Excel. Demo: https://ryuu12358.github.io/Frockly/ GitHub: https://github.com/ryuu12358/Frockly Write-up: https://note.com/ryuu12358/n/naa65d9d5facd (Japanese)

jimnotgym 6 hours ago | parent | next [-]

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.

trollbridge 5 hours ago | parent [-]

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.

leobg 7 hours ago | parent | prev | next [-]

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!

tcho 6 hours ago | parent | next [-]

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=46341227
knollimar 5 hours ago | parent | next [-]

The "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)

croisillon 4 hours ago | parent | prev [-]

you might enjoy "You Suck at Excel, by Joel Spolsky" https://www.youtube.com/watch?v=JxBg4sMusIg

paulmooreparks 5 minutes ago | parent [-]

One of the best videos ever. This set me on the path to having respectable Excel kung fu that was the envy of all my colleagues.

bthallplz 7 hours ago | parent | prev [-]

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

gabrielsroka 6 hours ago | parent | prev | next [-]

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.

SuperNinKenDo 4 hours ago | parent | prev [-]

I'm one of those sick, sad puppies that enjoys Excel shenanigans. Haven't been able to trst it out since I'm on my phone, but screenshots look promising, I look forward to trying it out.