Zero-based column / row pair identifying a single cell.

The A1 form B3 corresponds to { col: 1, row: 2 }. Storing both components as integers keeps range expansion and arithmetic simple and avoids parsing A1 strings during evaluation. The field order (col before row) is part of the wire format — JSON.stringify preserves insertion order for plain objects, so swapping the declaration order would silently break byte-stability of the IR.

interface CellRef {
    col: number;
    row: number;
}

Properties

Properties

col: number

Column index, 0-based (A=0, B=1, …, Z=25, AA=26, AB=27, …).

row: number

Row index, 0-based (1 → 0, 2 → 1).