Back

Show HN: Frockly – A visual editor for understanding complex Excel formulas

56 points1 month

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)

jimnotgym1 month ago

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.

trollbridge1 month ago

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.

leobg1 month ago

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!

tcho1 month ago

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
knollimar1 month ago

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)

Cordiali1 month ago

You can also put the lambda function inside the let function, which is handy.

Also, almost everyone should be using tables instead of ranges. The references are missing a few features, but it makes formulas a brazillion times more readable.

croisillon1 month ago

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

paulmooreparks1 month ago

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.

bthallplz1 month ago

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

jack_ruru1 month ago

Larger update since the last post:

– Added the i18n foundation – Introduced an initial French translation – Implemented URL parameter support for loading state and navigation

Thanks again for the feedback — it directly influenced this refactor.

phonon1 month ago
jack_ruru1 month ago

Yes, they’re related in spirit — thanks for the link!

Spreadsheet-blocks focuses more on building spreadsheets visually, while Frockly is primarily about inspecting and refactoring existing Excel formulas and making their structure explicit.

I think they’re exploring adjacent but slightly different problems.

radial_symmetry1 month ago

Very cool, it is so easy to get lost in Excel formulas and I am amazed that something like this hasn't been built into Excel already!

I noticed there is no license on the Github, do you intend for this to be open source?

jack_ruru1 month ago

Good catch — I’ve added an MIT license to the repository. Thanks for pointing it out.

SuperNinKenDo1 month ago

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.

gabrielsroka1 month ago

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.

jack_ruru1 month ago

That’s fair feedback — I’ll add static screenshots or a slower demo. Thanks for pointing it out.

montesito1 month ago

This is a great job! I like it. Congratulations. And thanks for sharing it. I have made lots of improvements and I would like to share with you if you accept. How?

jack_ruru1 month ago

Thanks! Please feel free to open an issue or a PR on GitHub. I’d be happy to discuss improvements there.

jack_ruru1 month ago

Thanks for all the comments! I just added mobile view support and updated the README based on the feedback.

remark53961 month ago

This made me wonder, why there is no syntax highlighting support for Excel? I've never thought about that before.