Cell References
EngCanvas uses Excel-style cell references with $ markers for absolute addressing. Understanding when to use $ is critical because bare identifiers are treated as variable names, not cell references.
Reference types
| Syntax | Type | Column | Row | Copy/paste behavior |
|---|---|---|---|---|
A1 | Variable | — | — | Treated as variable name, not a cell |
$A1 | Absolute column | Fixed | Shifts | Column stays, row adjusts |
A$1 | Absolute row | Shifts | Fixed | Row stays, column adjusts |
$A$1 | Fully absolute | Fixed | Fixed | Never shifts |
$ ruleWithout a $ marker, EngCanvas interprets A1 as a variable name. This is intentional — it lets you use natural engineering names like L, M, b, d, E without conflicting with cell addresses. To reference a cell, always include at least one $.
Examples
Absolute column reference ($A1)
$A1 // always column A, row adjusts on copy
$B5 // always column B, row 5 (shifts on paste)
Absolute row reference (A$1)
A$1 // column adjusts, always row 1
C$10 // column adjusts, always row 10
Fully absolute reference ($A$1)
$A$1 // always cell A1, never shifts
$D$15 // always cell D15
Ranges
Combine two cell references with : to create a range:
$A1:$A10 // column A, rows 1-10
$A1:$D1 // row 1, columns A-D
$A1:$D10 // rectangular block A1 to D10
$A$1:$A$20 // fully absolute range
Ranges are used with aggregate functions:
SUM($A1:$A10)
AVERAGE($B1:$B20)
MAX($A1:$C5)
Cross-sheet references
Reference cells on other sheets using the ! operator:
'Sheet 2'!$A1 // cell A1 on sheet named "Sheet 2"
'Material Properties'!$B5 // cell B5 on "Material Properties"
Sheet2!$A1 // works without quotes if no spaces
Quoting rules
- Sheet names with spaces or special characters must be quoted:
'My Sheet'!$A1 - Single-word sheet names can omit quotes:
Sheet2!$A1 - Always use single quotes (not double quotes)
Cross-sheet ranges
'Sheet 2'!$A1:$B10 // range A1:B10 on Sheet 2
Table references
Reference cells in embedded tables (on the Report Canvas):
Single cell
TableName[A1] // cell A1 in the table named "TableName"
$TableName[$A$1] // with absolute markers
Table range
TableName[A1:C10] // range in the table
$TableName[$A1:$B5] // with absolute markers
Table references are commonly used with VLOOKUP:
VLOOKUP(W14x22, SteelShapes[A1:D50], 3, 0)
Box references (Report Canvas)
On the Report Canvas, reference a box's result by its ID:
Box7 // the evaluated value of Box 7
Box12 // the evaluated value of Box 12
Box references don't use the $ prefix — the Box keyword followed by a number is recognized as a box reference.
Variable shadowing
When you define a variable with a name that looks like a cell reference, the variable takes precedence:
A1 = 10 ft // defines variable "A1", does NOT reference cell A1
M = A1 * 2 // uses variable A1 (= 10 ft), not cell A1
$A$1 // explicitly references cell A1 (bypasses shadowing)
This is by design: engineers commonly use names like b, d, L, M, N that would otherwise conflict with column letters.
Copy/paste behavior
When you copy a formula and paste it elsewhere:
- Relative parts (without
$) shift to match the new position - Absolute parts (with
$) stay fixed
Example: if cell A1 contains $A1 + $B1 and you paste it to row 3:
$A1→$A3(column fixed, row shifted)$B1→$B3(column fixed, row shifted)
If cell A1 contains $A$1 + $B$1 and you paste it anywhere:
$A$1→$A$1(nothing shifts)$B$1→$B$1(nothing shifts)
Next steps
- Special Values — constants and error handling
- Formula Syntax — complete formula reference