Skip to main content

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

SyntaxTypeColumnRowCopy/paste behavior
A1VariableTreated as variable name, not a cell
$A1Absolute columnFixedShiftsColumn stays, row adjusts
A$1Absolute rowShiftsFixedRow stays, column adjusts
$A$1Fully absoluteFixedFixedNever shifts
The $ rule

Without 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