Excel workbook expertise and optimization

Excel runs more businesses than any database does. It's also where data gets most tangled: the workbook that takes five minutes to recalculate, the lookup chain nobody dares touch, the "final_v7_REAL" file emailed around every Friday.

I make workbooks fast, reliable, and easy to hand off. When a spreadsheet has outgrown itself, I move the data into a proper database without taking Excel away from the people who rely on it.

What you get

  • A workbook audit that finds slow formulas, broken links, and hidden errors.
  • Rebuilt models that recalculate in seconds instead of minutes.
  • Power Query imports that replace manual copying and pasting.
  • Spreadsheet data migrated into a database with a clean structure.
  • Live connections that bring warehouse data back into Excel for analysis.
  • Documentation and a walkthrough, so your team can maintain it.

Modern Excel techniques I use

Power Query for repeatable data prep

Power Query imports, cleans, and combines data from files, folders, databases, and websites. It records each step, so next month's update is a single Refresh instead of an afternoon of rework. Its M language handles transformations the menus can't.

The Data Model, Power Pivot, and DAX

The Excel Data Model holds millions of rows, far beyond the worksheet's 1,048,576-row limit. Relationships between tables replace fragile lookup formulas, and DAX measures handle calculations like year-over-year growth and running totals.

Dynamic arrays, LET, and LAMBDA

FILTER, SORT, UNIQUE, and XLOOKUP replace columns of helper formulas. LET names intermediate results, making long formulas readable and faster. LAMBDA turns a formula into your own reusable function without any VBA, and GROUPBY and PIVOTBY build summaries with a single formula.

Python in Excel

Python in Excel runs pandas and charting libraries directly in a cell, which opens up statistics and analysis that would be painful in formulas, while the results stay inside the workbook your team already uses.

From workbook to database

When several people edit the same file, or data gets typed in twice, it's time for a database. I normalize flat sheets into related tables such as customers, orders, and products, then load them into SQL Server, PostgreSQL, or SQLite with proper data types and keys, so bad data can't sneak in.

From database back to Excel

Power Query and ODBC connections pull governed warehouse data into Excel on demand, with parameters for date ranges or regions. PivotTables built on the Data Model let analysts explore it freely. Excel becomes a window onto trusted data instead of yet another copy of it.

Performance tuning

The usual culprits are volatile functions like OFFSET, INDIRECT, and NOW, whole-column references, piles of conditional formatting, and lookups repeated thousands of times. Converting ranges to Excel Tables and restructuring calculations often makes a workbook ten times faster.

Tools and technologies

  • Excel 365
  • Power Query (M)
  • Power Pivot
  • DAX
  • Dynamic arrays
  • LAMBDA
  • Python in Excel
  • VBA
  • Office Scripts
  • Power Automate
  • SQL Server
  • PostgreSQL
  • SQLite

Common questions

Why is my Excel file so slow?

The most common causes are volatile functions that recalculate constantly, formulas referencing entire columns, heavy conditional formatting, and the same lookup repeated thousands of times. An audit pinpoints which ones are hurting your workbook.

When should we move from Excel to a database?

Common signs: several people need to edit at once, the file is getting huge, the same data is entered in more than one place, or you need a reliable history of changes. You can keep Excel as the front end.

Can you fix a workbook someone else built?

Yes. I start by mapping how it works and documenting it, then fix and simplify it in stages so nothing breaks along the way.

Related services

Have a question like this about your own data?

Tell me what you're working with and what you'd like to know. I'll reply by email with honest thoughts on how to approach it.