<!--
  canonical-url: https://www.avonture.be/blog/excel-formatter
  published:     2025-05-25
  This is a static plain-Markdown mirror generated at build time.
  Visit the canonical URL above for the fully rendered page, with images and interactive components.
-->

# Excel Formula Beautifier

> Make your complex Excel formulas easy to read! Use the Excel Formula Beautifier to instantly format and clarify your spreadsheet formulas for better understanding.

---
![Excel Formula Beautifier](/img/v2/excel.webp)

**TL;DR**

Struggling to read and debug long, complex Excel formulas? This article introduces the 'Excel Formula Beautifier,' a simple web tool that instantly transforms your convoluted formulas into a clean, indented, and easy-to-understand format. Just paste your formula, click a button, and see the logic clearly laid out, making it much easier to analyze and troubleshoot.

Can you read `=IF(AND(A1<100,B1<>"",ISNUMBER(SEARCH("abc",C1))),TEXT(D1,"dd-mm-yyyy")&" - "&ROUND(E1/F1,2),"N/A")` without thinking, ok, let's take a few seconds to analyze the formula and understand what it does? On my own, no, I have to stop for a moment and take the time to read before I understand.

Years ago, for fun, I've created <https://excel-formatter.avonture.be/>. It joins the small family of self-hosted formatting tools I've built over time, like my [SQL Formatter](/blog/sql-formatter).

Let's discover it.

## How to use

A picture is worth a thousand words...

> Screenshot — https\://excel-formatter.avonture.be/
>
> Demo

So simply copy/paste your long formula in the first text area and click on the Beautify button.

> **Information:**
>
> The script will try to find if the used separator is `,` or `;` and, in case of trouble, just specify the good one.

You'll get this type of result:

```none
=IF(
    AND(
        A1 < 100;
        B1 <> "";
        ISNUMBER(
            SEARCH(
                "abc";
                C1
            )
        )
    );
    TEXT(
        D1;
        "dd-mm-yyyy"
    ) & " - " &
    ROUND(
        E1 / F1;
        2
    );
    "N/A"
)
```

Which makes things clearer, no? If not, here this the transcript:

If:

* `A1` is less than `100`,
* `B1` is not empty and
* `C1` contains `abc`,

Then:

`D1` will be formatted as an european date and appends a rounded ratio of `E1`/`F1`.

Else:

Returns `N/A`.
