Collaboration is the real feature
The reason a team ends up on Sheets is rarely the formula language. It is that five people can be in the file at once, the version history is automatic, and there is no "final_v3_REALLY_final.xlsx". Any design we produce leans on that: one canonical file, protected ranges for the calculation layer, and named views instead of personal copies.
The functions Excel does not have
QUERY is the one that changes how you build. Being able to write =QUERY(Data!A:H, "select B, sum(F) where D = 'EU' group by B order by sum(F) desc", 1) replaces a pivot table that someone has to remember to refresh. Combined with IMPORTRANGE it lets you keep raw data in one file and give each team a view of it without ever copying rows.
Scheduled work belongs in Apps Script
A macro on a laptop runs when the laptop is open. An Apps Script time-driven trigger runs in Google's infrastructure on a schedule you set, can email or post the result, and logs its failures where you can see them. Anything recurring — a Monday report, a nightly import, a reminder when a cell crosses a threshold — should live there.
The limits, stated plainly
Ten million cells per spreadsheet is a hard ceiling. Well before that, formulas across roughly 100,000 rows start making the file feel slow, IMPORTRANGE chains become fragile, and Apps Script's six-minute execution limit forces you to batch. If your problem is heading that way, the answer is BigQuery underneath Sheets — not more Sheets. We will tell you when you are approaching that line.