Skip to content
Wisegrid blog

Formulas in Wisegrid — the Same `[Column]@row` Syntax You Know from Smartsheet

A Smartsheet formula cheat sheet — VLOOKUP, INDEX/MATCH, [Column Name]@row, {Reference Name}, cross-sheet refs — and how each translates when you switch.

By Ryan Kramer, founder of Wisegrid. Last updated June 2026.

If you’re coming from Smartsheet, the thing you’re most afraid of losing is your formulas — the [Column Name]@row references, the VLOOKUPs, the INDEX/MATCH you’ve leaned on for years. Here’s the short version: Wisegrid speaks the same formula language. Same-row references use the exact same [Column Name]@row syntax, the function names and behavior are the same, and the one place the two genuinely diverge — cross-sheet references — is a place where Wisegrid is easier, not harder.

This guide is written Wisegrid-first: here’s how formulas work in our grid, with a note alongside each one for anyone migrating from Smartsheet. At the end, there’s an honest scorecard of what the Smartsheet importer carries across automatically and the handful of functions (like LET and LAMBDA) that aren’t supported yet.

Key takeawaysSame-row references are identical. [Column Name]@row means the same thing in Wisegrid as in Smartsheet — and it comes across a migration unchanged, not rewritten into B4. – The functions are the same. SUM, IF, VLOOKUP, COUNTIF, XLOOKUP, INDEX, MATCH — same names, same behavior. – **Cross-sheet references are where Wisegrid is better. Instead of a modal-picked {Reference Name} object you ration against a 100-per-sheet cap, you type =[Sheet]!A1 inline. No modal, no cap. – Column-wide references use standard E:E cell ranges — the one syntactic shift, and only for whole-column / specific-row references, never for same-row. – FILTER, SORT, UNIQUE, LET, and LAMBDA aren’t supported yet — they’re flagged for manual review on import rather than silently miscalculated. – Hierarchy functions (CHILDREN/PARENT/ANCESTORS/DESCENDANTS) work the same way** — same row hierarchy, same rollups.

How a Wisegrid formula is built

A Wisegrid formula has two kinds of pieces, exactly like Smartsheet:

  1. FunctionsSUM, IF, VLOOKUP, COUNTIF, and the rest. Same names, same behavior. If you know them from Smartsheet (or Excel), you already know them here.
  2. References — how the formula points at data. This is the part that looks like a dialect, and the good news is Wisegrid uses the same dialect Smartsheet does for the common case:
  • [Column Name]@row — the value of that column in the current row (the workhorse — identical to Smartsheet)
  • D5 — a specific cell, by standard A1 address
  • D:D — a whole column
  • [Sheet]!A1 — a cell on another sheet, typed inline

So a Wisegrid formula like =[Hours]@row * [Rate]@row reads as “this row’s Hours times this row’s Rate” — the same formula you’d write in Smartsheet, character for character. The engine resolves [Hours]@row to the right cell on whatever row the formula lives in, and it survives column reordering because it points at the column by name, not by letter.

References: [Column]@row and the rest

Here’s every reference shape, Wisegrid-first, with the Smartsheet equivalent for anyone migrating:

What you’re referencing In Wisegrid Coming from Smartsheet
This row’s value in a column [Status]@row Identical — same [Status]@row
A specific row’s value D5 was [Status]5
A whole column D:D was [Status] or [Status]:[Status]
A range across columns D:E was [Status]:[Amount]
A cell on another sheet [Q1 Sales]!A1:Z100 was {Q1 Sales} — a modal-picked named object

The headline: the reference you’ll write 90% of the time — [Column Name]@row — is the same in both tools. It’s also genuinely the nicer way to write a same-row reference: [Hours]@row * [Rate]@row is self-documenting in a way =B4*C4 never is, and it doesn’t break when you drag a column to a new position. We kept it on purpose.

Where Wisegrid uses standard cell addresses — whole columns (D:D), specific rows (D5), cross-column ranges (D:E) — it’s because those are the lingua franca of spreadsheets and what most people already expect. Same-row stays named; the rest is plain A1.

Common functions

The everyday functions are the same name and the same behavior. Anything that operates on the current row is character-for-character identical to Smartsheet; the only shift is that column-wide references become standard E:E-style ranges.

Function In Wisegrid Same as Smartsheet?
IF =IF([Status]@row="Done", 1, 0) ✅ Identical
CONCAT =CONCAT([First]@row, " ", [Last]@row) ✅ Identical
IFERROR =IFERROR([Rate]@row, 0) ✅ Identical
SUM =SUM(E:E) column ref [Amount]:[Amount]E:E
COUNTIF =COUNTIF(D:D, "Done") column ref [Status]:[Status]D:D
SUMIF =SUMIF(D:D, "Paid", E:E) column refs → D:D, E:E
AVERAGE / AVG =AVG(E:E) column ref [Amount]:[Amount]E:E

(Examples assume Status is column D and Amount is column E.)

The pattern holds for the long tail too — text functions (LEFT, RIGHT, MID, LEN, SUBSTITUTE), math (ROUND, CEILING, FLOOR, MOD, POWER), date math (NETWORKDAY, WORKDAY, EOMONTH, DATEDIF), and logical (AND, OR, NOT, IFS, SWITCH). The function never changes; only a whole-column reference swaps [Column]:[Column] for E:E.

The honest exception: LET and LAMBDA. Wisegrid’s engine doesn’t evaluate them yet, so on import they aren’t force-fed through and rendered as a wrong value — they’re routed to the review queue with their original syntax intact, so you can rebuild them deliberately. If your sheets lean heavily on LET/LAMBDA, know that going in.

Lookups: VLOOKUP, INDEX/MATCH, and the modern set

Lookups are the formulas people worry about most, because a broken lookup quietly corrupts a whole column. The honest status: all the common lookups work, and the modern lookup family is supported. The lookup value is usually a same-row [SKU]@row (identical to Smartsheet); the lookup table is the one part that changes — a Smartsheet {Reference Name} becomes a typed [Sheet]!range.

Lookup In Wisegrid Supported?
VLOOKUP =VLOOKUP([SKU]@row, [Price Table]!A1:Z100, 2, false)
HLOOKUP =HLOOKUP([Key]@row, [Rates]!A1:Z100, 3, false)
INDEX / MATCH =INDEX([Prices]!A1:Z100, MATCH([SKU]@row, [SKUs]!A1:Z100, 0))
XLOOKUP =XLOOKUP([SKU]@row, [SKUs]!A1:Z100, [Prices]!A1:Z100)
XMATCH =XMATCH([SKU]@row, [SKUs]!A1:Z100)
LOOKUP =LOOKUP([SKU]@row, [Table]!A1:Z100)
FILTER =FILTER(...) ❌ not yet (needs dynamic arrays)
SORT / UNIQUE =UNIQUE(...) ❌ not yet (needs dynamic arrays)

XLOOKUP, XMATCH, INDEX, MATCH, VLOOKUP, HLOOKUP, and LOOKUP all evaluate in Wisegrid’s engine — that’s the shipped support set, not a roadmap promise. So an INDEX/MATCH you’ve leaned on for years, or an XLOOKUP you rewrote it into, both keep working. The dynamic-array functions — FILTER, SORT, and UNIQUE — aren’t supported yet (they need a spill model we haven’t built), so they’re flagged for manual review on import rather than silently miscalculated.

Cross-sheet formulas: where Wisegrid is easier

This is the one place Wisegrid and Smartsheet genuinely diverge — and it’s the place Wisegrid is better.

In Smartsheet, a cross-sheet formula doesn’t point at another sheet inline. You open a reference-picker modal, select a range on another sheet, give that selection a name, and Smartsheet stores it as a {Reference Name} object you then use in formulas. It works, but it has real ceilings: a sheet can include no more than 100 distinct cross-sheet references, and large-scale sheets can’t be used in cross-sheet references at all (both per Smartsheet’s own cross-sheet reference documentation). Every reference is a modal round-trip.

In Wisegrid, you just type it:

Scenario In Wisegrid Coming from Smartsheet
Same workspace / project [Q1 Sales]!A1:Z100 was {Q1 Sales}
Different project [FY26 Finance][Q1 Sales]!A1:Z100 was {Q1 Sales}

No modal, no naming step, no 100-reference cap to ration. Adding a cross-sheet lookup is =[Sheet]!A1 and you move on.

When you migrate, the importer resolves each Smartsheet {Reference Name} into its typed [Sheet]!range equivalent. The honest caveat: if a {Reference Name} points at a sheet you didn’t include in the migration, the importer can’t bind it to a real target — so rather than emit a reference that silently resolves to nothing, it flags it in the review queue for you to decide (import that sheet too, or repoint the reference).

The Wisegrid migration report's formula review queue, listing the small number of formulas the importer flagged for a human to check, each shown with its original Smartsheet syntax and a suggested translation
Honest by design: the importer carries the vast majority of formulas across untouched and surfaces only the ones that need a human’s eye — each with its original Smartsheet syntax and a suggested fix — instead of producing silently wrong values.

Hierarchy formulas (CHILDREN, PARENT, ANCESTORS)

Wisegrid has the same row hierarchy as Smartsheet (parent/child indentation), and the same functions that traverse it: CHILDREN, PARENT, ANCESTORS, and DESCENDANTS. A parent row rolls up its children the same way — e.g. =SUM(CHILDREN([Amount]@row)).

There’s one small syntax difference in how you name the column being traversed: Smartsheet writes it as a bracketed reference, Wisegrid takes the column name as a quoted string.

Function In Wisegrid Coming from Smartsheet
CHILDREN =SUM(CHILDREN("Amount")) was =SUM(CHILDREN([Amount]@row))
PARENT =PARENT("Status") was =PARENT([Status]@row)
ANCESTORS =COUNT(ANCESTORS("Task")) was =COUNT(ANCESTORS([Task]@row))
DESCENDANTS =SUM(DESCENDANTS("Amount")) was =SUM(DESCENDANTS([Amount]@row))

The honest limit — and it’s a limit Smartsheet shares: hierarchy functions don’t work across sheets. In Smartsheet, a CHILDREN/PARENT/ANCESTORS call that reaches into another sheet returns #UNSUPPORTED CROSS-SHEET FORMULA (per Smartsheet’s formula error message documentation). Wisegrid has the same constraint, and the importer flags the same case for review rather than producing a wrong rollup. It’s a shared limit, surfaced honestly — one more reason the 500K-cell wall is worse than it sounds, since the official “split your sheet” fix breaks the cross-sheet rollups that stitch the pieces back together.

Migrating from Smartsheet: what carries across

Putting it together, here’s the honest scorecard for a Smartsheet → Wisegrid migration:

Carries across automatically Needs a human look (review queue)
[Column Name]@rowpreserved unchanged A formula referencing a column that no longer exists
Specific-row [Col]N and column ranges [A]:[B] → standard D5 / D:E {Reference Name} pointing at a sheet you didn’t import
All supported functions (see the lists above) LET / LAMBDA (not supported yet)
{Reference Name} → typed [Sheet]!range when the target is imported FILTER / SORT / UNIQUE (need dynamic arrays)
CHILDREN/PARENT/ANCESTORS/DESCENDANTS (single-sheet) @cell and standalone @row markers
Cross-project refs [Project][Sheet]!range Cross-sheet hierarchy (#UNSUPPORTED in Smartsheet too)

The thing that makes this trustworthy isn’t that everything converts — it’s that same-row references come across exactly as you wrote them, and anything that can’t be carried over is shown to you, with its original syntax and a suggested fix, instead of being passed through to render a wrong number in a cell you’ll never think to check. On a real test migration we ran end-to-end, the importer mirrored 4,863 rows across 14 sheets and carried everything across except eight items (five formulas, two columns, one cell) — which all landed in the review queue.

For the full picture, the step-by-step guide to migrating off Smartsheet walks through the whole importer flow, and what Smartsheet’s export actually loses explains why the manual export route drops your formulas entirely (to values-only) in the first place.

FAQ

Does Wisegrid use the same formula syntax as Smartsheet?

For the common case, yes. Same-row references use the identical [Column Name]@row syntax, and the function names and behavior are the same. The one difference is cross-sheet references: where Smartsheet uses a modal-picked {Reference Name} object, Wisegrid uses a typed [Sheet]!A1 reference — with no 100-reference-per-sheet cap. Whole-column and specific-row references use standard A1 ranges (D:D, D5).

What does [Column Name]@row mean?

It means “the value of this column in the current row” — a relative same-row reference. It works the same way in Wisegrid as in Smartsheet, and because it points at the column by name rather than by letter, it’s self-documenting and survives column reordering. [Hours]@row resolves to the Hours cell on whatever row the formula lives in.

Do my [Column]@row formulas change when I migrate from Smartsheet?

No — same-row [Column]@row references are preserved unchanged on import. The formula you wrote in Smartsheet is the formula you’ll see in Wisegrid. What gets rewritten is cross-sheet references (the {Reference Name} object becomes a typed [Sheet]!range) and, in aggregations, whole-column references ([Amount]:[Amount] becomes the standard E:E).

Does Wisegrid have VLOOKUP and INDEX/MATCH?

Yes. VLOOKUP, HLOOKUP, INDEX, MATCH, plus the modern XLOOKUP and XMATCH and the classic LOOKUP all evaluate in Wisegrid’s engine. A Smartsheet lookup that uses a {Reference Name} cross-sheet table comes across with that table rewritten to a typed [Sheet]!range.

Which Smartsheet formulas don’t carry across automatically?

The dynamic-array functions FILTER, SORT, and UNIQUE aren’t supported yet (they need a spill model we haven’t built), and neither are LET and LAMBDA — all five are flagged for manual review rather than miscalculated. Cross-sheet hierarchy functions (CHILDREN/PARENT/ANCESTORS reaching into another sheet) also don’t translate — but those return #UNSUPPORTED CROSS-SHEET FORMULA in Smartsheet too, so it’s a shared limit. And any formula referencing a missing column, an @cell marker, or a {Reference Name} whose target sheet you didn’t import gets surfaced for review instead of guessed.

What happens to formulas the importer can’t carry across?

They go to a visible review queue with the original Smartsheet syntax and a suggested fix, so you handle the handful that need it instead of trusting that thousands of cells came over clean. Nothing is passed through to render a silently-wrong value.

How many cross-sheet references can I have?

In Smartsheet, a sheet can include no more than 100 distinct cross-sheet references, and large-scale sheets can’t be used in cross-sheet references at all (both per Smartsheet’s cross-sheet reference documentation). Wisegrid has no such cap, and references are typed inline (=[Sheet]!A1) instead of built one modal at a time.


See your own formulas come across

The cleanest way to know how your formulas migrate is to run them through the importer. Paste a read-only Smartsheet token and Wisegrid mirrors your workspace — same-row formulas preserved, the few exceptions surfaced in a review queue — at the same price you already pay.

Start your migration → · How to migrate off Smartsheet → · What Smartsheet’s export loses →


About the author Ryan Kramer is the founder of Wisegrid, a higher-capacity Smartsheet alternative built around a 1,000,000-cell-per-sheet grid, conflict-safe collaboration, and a one-click Smartsheet importer. He built Wisegrid out of first-hand experience hitting the walls in Smartsheet’s grid, pricing model, and capacity limits, and writes about leaving Smartsheet without losing your data. More from Ryan →