# AbsoluteCellRange

Represents a rectangular range of cells anchored at absolute coordinates within a single sheet.

## Constructors

### constructor

\+ **new AbsoluteCellRange**(`start`: [SimpleCellAddress](../interfaces/simplecelladdress.md), `end`: [SimpleCellAddress](../interfaces/simplecelladdress.md)): *[AbsoluteCellRange](absolutecellrange.md)*

*Defined in [hyperformula/src/AbsoluteCellRange.ts:56](https://github.com/handsontable/hyperformula/blob/b2088a8/hyperformula/src/AbsoluteCellRange.ts#L56)*

Creates a new absolute cell range.

**Parameters:**

Name | Type | Description |
------ | ------ | ------ |
`start` | [SimpleCellAddress](../interfaces/simplecelladdress.md) | Top-left cell address (must share the sheet with end) |
`end` | [SimpleCellAddress](../interfaces/simplecelladdress.md) | Bottom-right cell address (must share the sheet with start)  |

**Returns:** *[AbsoluteCellRange](absolutecellrange.md)*

## Properties

### end

• **end**: *[SimpleCellAddress](../interfaces/simplecelladdress.md)*

*Defined in [hyperformula/src/AbsoluteCellRange.ts:56](https://github.com/handsontable/hyperformula/blob/b2088a8/hyperformula/src/AbsoluteCellRange.ts#L56)*

___

### start

• **start**: *[SimpleCellAddress](../interfaces/simplecelladdress.md)*

*Defined in [hyperformula/src/AbsoluteCellRange.ts:55](https://github.com/handsontable/hyperformula/blob/b2088a8/hyperformula/src/AbsoluteCellRange.ts#L55)*

## Accessors

### sheet

• **get sheet**(): *number*

*Defined in [hyperformula/src/AbsoluteCellRange.ts:78](https://github.com/handsontable/hyperformula/blob/b2088a8/hyperformula/src/AbsoluteCellRange.ts#L78)*

The sheet index this range belongs to.

**Returns:** *number*

Sheet index

## Methods

### addressInRange

▸ **addressInRange**(`address`: [SimpleCellAddress](../interfaces/simplecelladdress.md)): *boolean*

*Defined in [hyperformula/src/AbsoluteCellRange.ts:236](https://github.com/handsontable/hyperformula/blob/b2088a8/hyperformula/src/AbsoluteCellRange.ts#L236)*

Checks whether the given address lies within this range.

**Parameters:**

Name | Type | Description |
------ | ------ | ------ |
`address` | [SimpleCellAddress](../interfaces/simplecelladdress.md) | Address to test |

**Returns:** *boolean*

True if the address is inside the range

___

### addresses

▸ **addresses**(`dependencyGraph`: DependencyGraph): *[SimpleCellAddress](../interfaces/simplecelladdress.md)[]*

*Defined in [hyperformula/src/AbsoluteCellRange.ts:517](https://github.com/handsontable/hyperformula/blob/b2088a8/hyperformula/src/AbsoluteCellRange.ts#L517)*

Returns every address in the range (clipped to the sheet's effective bounds) as a flat row-major list.

**Parameters:**

Name | Type | Description |
------ | ------ | ------ |
`dependencyGraph` | DependencyGraph | Graph used to resolve effective sheet bounds |

**Returns:** *[SimpleCellAddress](../interfaces/simplecelladdress.md)[]*

Flat list of cell addresses

___

### addressesArrayMap

▸ **addressesArrayMap**‹**T**›(`dependencyGraph`: DependencyGraph, `op`: function): *T[][]*

*Defined in [hyperformula/src/AbsoluteCellRange.ts:496](https://github.com/handsontable/hyperformula/blob/b2088a8/hyperformula/src/AbsoluteCellRange.ts#L496)*

Maps each address in the range (clipped to the sheet's effective bounds) through a callback and returns the results in row-major 2D form.

**Type parameters:**

▪ **T**

**Parameters:**

▪ **dependencyGraph**: *DependencyGraph*

Graph used to resolve effective sheet bounds

▪ **op**: *function*

Callback invoked for each address

▸ (`arg`: [SimpleCellAddress](../interfaces/simplecelladdress.md)): *T*

**Parameters:**

Name | Type |
------ | ------ |
`arg` | [SimpleCellAddress](../interfaces/simplecelladdress.md) |

**Returns:** *T[][]*

Mapped values indexed by `[row][column]`

___

### addressesWithDirection

▸ **addressesWithDirection**(`right`: number, `bottom`: number, `dependencyGraph`: DependencyGraph): *IterableIterator‹[SimpleCellAddress](../interfaces/simplecelladdress.md)›*

*Defined in [hyperformula/src/AbsoluteCellRange.ts:540](https://github.com/handsontable/hyperformula/blob/b2088a8/hyperformula/src/AbsoluteCellRange.ts#L540)*

Iterates over every address in the range in a chosen direction (clipped to the sheet's effective bounds).

**`yields`** {SimpleCellAddress} The next cell address in the chosen iteration order

**Parameters:**

Name | Type | Description |
------ | ------ | ------ |
`right` | number | Positive iterates columns right-to-left, non-positive iterates left-to-right |
`bottom` | number | Positive iterates rows bottom-to-top, non-positive iterates top-to-bottom |
`dependencyGraph` | DependencyGraph | Graph used to resolve effective sheet bounds |

**Returns:** *IterableIterator‹[SimpleCellAddress](../interfaces/simplecelladdress.md)›*

___

### arrayOfAddressesInRange

▸ **arrayOfAddressesInRange**(): *[SimpleCellAddress](../interfaces/simplecelladdress.md)[][]*

*Defined in [hyperformula/src/AbsoluteCellRange.ts:450](https://github.com/handsontable/hyperformula/blob/b2088a8/hyperformula/src/AbsoluteCellRange.ts#L450)*

Builds a 2D array of every cell address in the range, indexed by `[row][column]`.

**Returns:** *[SimpleCellAddress](../interfaces/simplecelladdress.md)[][]*

Rectangular grid of cell addresses

___

### columnInRange

▸ **columnInRange**(`address`: [SimpleColumnAddress](../interfaces/simplecolumnaddress.md)): *boolean*

*Defined in [hyperformula/src/AbsoluteCellRange.ts:252](https://github.com/handsontable/hyperformula/blob/b2088a8/hyperformula/src/AbsoluteCellRange.ts#L252)*

Checks whether the given column lies within this range.

**Parameters:**

Name | Type | Description |
------ | ------ | ------ |
`address` | [SimpleColumnAddress](../interfaces/simplecolumnaddress.md) | Column address to test |

**Returns:** *boolean*

True if the column is inside the range

___

### containsRange

▸ **containsRange**(`range`: [AbsoluteCellRange](absolutecellrange.md)): *boolean*

*Defined in [hyperformula/src/AbsoluteCellRange.ts:276](https://github.com/handsontable/hyperformula/blob/b2088a8/hyperformula/src/AbsoluteCellRange.ts#L276)*

Checks whether this range fully contains another range.

**Parameters:**

Name | Type | Description |
------ | ------ | ------ |
`range` | [AbsoluteCellRange](absolutecellrange.md) | Range to test for containment |

**Returns:** *boolean*

True if the other range is fully inside this range

___

### doesOverlap

▸ **doesOverlap**(`other`: [AbsoluteCellRange](absolutecellrange.md)): *boolean*

*Defined in [hyperformula/src/AbsoluteCellRange.ts:218](https://github.com/handsontable/hyperformula/blob/b2088a8/hyperformula/src/AbsoluteCellRange.ts#L218)*

Checks whether this range overlaps another range (must be on the same sheet to overlap).

**Parameters:**

Name | Type | Description |
------ | ------ | ------ |
`other` | [AbsoluteCellRange](absolutecellrange.md) | Range to compare against |

**Returns:** *boolean*

True if the ranges share at least one cell

___

### effectiveEndColumn

▸ **effectiveEndColumn**(`_dependencyGraph`: DependencyGraph): *number*

*Defined in [hyperformula/src/AbsoluteCellRange.ts:616](https://github.com/handsontable/hyperformula/blob/b2088a8/hyperformula/src/AbsoluteCellRange.ts#L616)*

Returns the effective last column index, accounting for unbounded ranges resolved through the dependency graph.

**Parameters:**

Name | Type | Description |
------ | ------ | ------ |
`_dependencyGraph` | DependencyGraph | Dependency graph (unused on the bounded base implementation) |

**Returns:** *number*

Effective last column index

___

### effectiveEndRow

▸ **effectiveEndRow**(`_dependencyGraph`: DependencyGraph): *number*

*Defined in [hyperformula/src/AbsoluteCellRange.ts:625](https://github.com/handsontable/hyperformula/blob/b2088a8/hyperformula/src/AbsoluteCellRange.ts#L625)*

Returns the effective last row index, accounting for unbounded ranges resolved through the dependency graph.

**Parameters:**

Name | Type | Description |
------ | ------ | ------ |
`_dependencyGraph` | DependencyGraph | Dependency graph (unused on the bounded base implementation) |

**Returns:** *number*

Effective last row index

___

### effectiveHeight

▸ **effectiveHeight**(`_dependencyGraph`: DependencyGraph): *number*

*Defined in [hyperformula/src/AbsoluteCellRange.ts:643](https://github.com/handsontable/hyperformula/blob/b2088a8/hyperformula/src/AbsoluteCellRange.ts#L643)*

Returns the effective height of the range, accounting for unbounded ranges resolved through the dependency graph.

**Parameters:**

Name | Type | Description |
------ | ------ | ------ |
`_dependencyGraph` | DependencyGraph | Dependency graph (unused on the bounded base implementation) |

**Returns:** *number*

Effective height in rows

___

### effectiveWidth

▸ **effectiveWidth**(`_dependencyGraph`: DependencyGraph): *number*

*Defined in [hyperformula/src/AbsoluteCellRange.ts:634](https://github.com/handsontable/hyperformula/blob/b2088a8/hyperformula/src/AbsoluteCellRange.ts#L634)*

Returns the effective width of the range, accounting for unbounded ranges resolved through the dependency graph.

**Parameters:**

Name | Type | Description |
------ | ------ | ------ |
`_dependencyGraph` | DependencyGraph | Dependency graph (unused on the bounded base implementation) |

**Returns:** *number*

Effective width in columns

___

### exceedsSheetSizeLimits

▸ **exceedsSheetSizeLimits**(`maxColumns`: number, `maxRows`: number): *boolean*

*Defined in [hyperformula/src/AbsoluteCellRange.ts:607](https://github.com/handsontable/hyperformula/blob/b2088a8/hyperformula/src/AbsoluteCellRange.ts#L607)*

Checks whether the range exceeds the configured sheet size limits.

**Parameters:**

Name | Type | Description |
------ | ------ | ------ |
`maxColumns` | number | Maximum number of columns allowed by the sheet |
`maxRows` | number | Maximum number of rows allowed by the sheet |

**Returns:** *boolean*

True if the range escapes the limits

___

### expandByColumns

▸ **expandByColumns**(`numberOfColumns`: number): *void*

*Defined in [hyperformula/src/AbsoluteCellRange.ts:361](https://github.com/handsontable/hyperformula/blob/b2088a8/hyperformula/src/AbsoluteCellRange.ts#L361)*

Extends the right edge of the range by a number of columns (mutates this range).

**Parameters:**

Name | Type | Description |
------ | ------ | ------ |
`numberOfColumns` | number | Number of columns to add at the right  |

**Returns:** *void*

___

### expandByRows

▸ **expandByRows**(`numberOfRows`: number): *void*

*Defined in [hyperformula/src/AbsoluteCellRange.ts:334](https://github.com/handsontable/hyperformula/blob/b2088a8/hyperformula/src/AbsoluteCellRange.ts#L334)*

Extends the bottom edge of the range by a number of rows (mutates this range).

**Parameters:**

Name | Type | Description |
------ | ------ | ------ |
`numberOfRows` | number | Number of rows to add at the bottom  |

**Returns:** *void*

___

### getAddress

▸ **getAddress**(`col`: number, `row`: number): *[SimpleCellAddress](../interfaces/simplecelladdress.md)*

*Defined in [hyperformula/src/AbsoluteCellRange.ts:594](https://github.com/handsontable/hyperformula/blob/b2088a8/hyperformula/src/AbsoluteCellRange.ts#L594)*

Returns the address of the cell at the given offset inside the range.

**Parameters:**

Name | Type | Description |
------ | ------ | ------ |
`col` | number | Zero-based column offset from the left edge |
`row` | number | Zero-based row offset from the top edge |

**Returns:** *[SimpleCellAddress](../interfaces/simplecelladdress.md)*

Absolute address of the offset cell

___

### height

▸ **height**(): *number*

*Defined in [hyperformula/src/AbsoluteCellRange.ts:434](https://github.com/handsontable/hyperformula/blob/b2088a8/hyperformula/src/AbsoluteCellRange.ts#L434)*

Returns the height (number of rows) of the range.

**Returns:** *number*

Height in rows

___

### includesColumn

▸ **includesColumn**(`column`: number): *boolean*

*Defined in [hyperformula/src/AbsoluteCellRange.ts:317](https://github.com/handsontable/hyperformula/blob/b2088a8/hyperformula/src/AbsoluteCellRange.ts#L317)*

Checks whether the given column index is strictly right of the left edge and at or before the right edge.

**Parameters:**

Name | Type | Description |
------ | ------ | ------ |
`column` | number | Column index to test |

**Returns:** *boolean*

True if the column lies inside the range (excluding the left boundary)

___

### includesRow

▸ **includesRow**(`row`: number): *boolean*

*Defined in [hyperformula/src/AbsoluteCellRange.ts:308](https://github.com/handsontable/hyperformula/blob/b2088a8/hyperformula/src/AbsoluteCellRange.ts#L308)*

Checks whether the given row index is strictly below the top edge and at or above the bottom edge.

**Parameters:**

Name | Type | Description |
------ | ------ | ------ |
`row` | number | Row index to test |

**Returns:** *boolean*

True if the row lies inside the range (excluding the top boundary)

___

### intersectionWith

▸ **intersectionWith**(`other`: [AbsoluteCellRange](absolutecellrange.md)): *[Maybe](../globals.md#maybe)‹[AbsoluteCellRange](absolutecellrange.md)›*

*Defined in [hyperformula/src/AbsoluteCellRange.ts:285](https://github.com/handsontable/hyperformula/blob/b2088a8/hyperformula/src/AbsoluteCellRange.ts#L285)*

Computes the intersection of this range with another range on the same sheet.

**Parameters:**

Name | Type | Description |
------ | ------ | ------ |
`other` | [AbsoluteCellRange](absolutecellrange.md) | Range to intersect with |

**Returns:** *[Maybe](../globals.md#maybe)‹[AbsoluteCellRange](absolutecellrange.md)›*

Intersection range, or undefined when the ranges do not overlap

___

### isFinite

▸ **isFinite**(): *boolean*

*Defined in [hyperformula/src/AbsoluteCellRange.ts:209](https://github.com/handsontable/hyperformula/blob/b2088a8/hyperformula/src/AbsoluteCellRange.ts#L209)*

Indicates whether the range has finite size (no infinite row/column extent).

**Returns:** *boolean*

True if the range is finite

___

### moveToSheet

▸ **moveToSheet**(`toSheet`: number): *void*

*Defined in [hyperformula/src/AbsoluteCellRange.ts:369](https://github.com/handsontable/hyperformula/blob/b2088a8/hyperformula/src/AbsoluteCellRange.ts#L369)*

Moves the range to a different sheet (mutates this range).

**Parameters:**

Name | Type | Description |
------ | ------ | ------ |
`toSheet` | number | Target sheet index  |

**Returns:** *void*

___

### rangeWithSameHeight

▸ **rangeWithSameHeight**(`startColumn`: number, `numberOfColumns`: number): *[AbsoluteCellRange](absolutecellrange.md)*

*Defined in [hyperformula/src/AbsoluteCellRange.ts:410](https://github.com/handsontable/hyperformula/blob/b2088a8/hyperformula/src/AbsoluteCellRange.ts#L410)*

Builds a new range with the same row extent as this one but rooted at a different column.

**Parameters:**

Name | Type | Description |
------ | ------ | ------ |
`startColumn` | number | Left column of the new range |
`numberOfColumns` | number | Width of the new range |

**Returns:** *[AbsoluteCellRange](absolutecellrange.md)*

New range with this range's height

___

### rangeWithSameWidth

▸ **rangeWithSameWidth**(`startRow`: number, `numberOfRows`: number): *[AbsoluteCellRange](absolutecellrange.md)*

*Defined in [hyperformula/src/AbsoluteCellRange.ts:400](https://github.com/handsontable/hyperformula/blob/b2088a8/hyperformula/src/AbsoluteCellRange.ts#L400)*

Builds a new range with the same column extent as this one but rooted at a different row.

**Parameters:**

Name | Type | Description |
------ | ------ | ------ |
`startRow` | number | Top row of the new range |
`numberOfRows` | number | Height of the new range |

**Returns:** *[AbsoluteCellRange](absolutecellrange.md)*

New range with this range's width

___

### removeSpan

▸ **removeSpan**(`span`: [Span](../globals.md#span)): *void*

*Defined in [hyperformula/src/AbsoluteCellRange.ts:378](https://github.com/handsontable/hyperformula/blob/b2088a8/hyperformula/src/AbsoluteCellRange.ts#L378)*

Removes a span of rows or columns from the range (mutates this range).

**Parameters:**

Name | Type | Description |
------ | ------ | ------ |
`span` | [Span](../globals.md#span) | Span describing the rows or columns to remove  |

**Returns:** *void*

___

### rowInRange

▸ **rowInRange**(`address`: [SimpleRowAddress](../interfaces/simplerowaddress.md)): *boolean*

*Defined in [hyperformula/src/AbsoluteCellRange.ts:264](https://github.com/handsontable/hyperformula/blob/b2088a8/hyperformula/src/AbsoluteCellRange.ts#L264)*

Checks whether the given row lies within this range.

**Parameters:**

Name | Type | Description |
------ | ------ | ------ |
`address` | [SimpleRowAddress](../interfaces/simplerowaddress.md) | Row address to test |

**Returns:** *boolean*

True if the row is inside the range

___

### sameAs

▸ **sameAs**(`other`: [AbsoluteCellRange](absolutecellrange.md)): *boolean*

*Defined in [hyperformula/src/AbsoluteCellRange.ts:485](https://github.com/handsontable/hyperformula/blob/b2088a8/hyperformula/src/AbsoluteCellRange.ts#L485)*

Checks whether this range has the same start and end addresses as another range.

**Parameters:**

Name | Type | Description |
------ | ------ | ------ |
`other` | [AbsoluteCellRange](absolutecellrange.md) | Range to compare against |

**Returns:** *boolean*

True if both endpoints match

___

### sameDimensionsAs

▸ **sameDimensionsAs**(`other`: [AbsoluteCellRange](absolutecellrange.md)): *boolean*

*Defined in [hyperformula/src/AbsoluteCellRange.ts:476](https://github.com/handsontable/hyperformula/blob/b2088a8/hyperformula/src/AbsoluteCellRange.ts#L476)*

Checks whether this range has the same width and height as another range.

**Parameters:**

Name | Type | Description |
------ | ------ | ------ |
`other` | [AbsoluteCellRange](absolutecellrange.md) | Range to compare against |

**Returns:** *boolean*

True if both width and height match

___

### shiftByColumns

▸ **shiftByColumns**(`numberOfColumns`: number): *void*

*Defined in [hyperformula/src/AbsoluteCellRange.ts:342](https://github.com/handsontable/hyperformula/blob/b2088a8/hyperformula/src/AbsoluteCellRange.ts#L342)*

Shifts the entire range horizontally by a number of columns (mutates this range).

**Parameters:**

Name | Type | Description |
------ | ------ | ------ |
`numberOfColumns` | number | Number of columns to shift by (negative shifts leftward)  |

**Returns:** *void*

___

### shiftByRows

▸ **shiftByRows**(`numberOfRows`: number): *void*

*Defined in [hyperformula/src/AbsoluteCellRange.ts:325](https://github.com/handsontable/hyperformula/blob/b2088a8/hyperformula/src/AbsoluteCellRange.ts#L325)*

Shifts the entire range vertically by a number of rows (mutates this range).

**Parameters:**

Name | Type | Description |
------ | ------ | ------ |
`numberOfRows` | number | Number of rows to shift by (negative shifts upward)  |

**Returns:** *void*

___

### shifted

▸ **shifted**(`byCols`: number, `byRows`: number): *[AbsoluteCellRange](absolutecellrange.md)*

*Defined in [hyperformula/src/AbsoluteCellRange.ts:353](https://github.com/handsontable/hyperformula/blob/b2088a8/hyperformula/src/AbsoluteCellRange.ts#L353)*

Returns a new range shifted by the given offsets without mutating this range.

**Parameters:**

Name | Type | Description |
------ | ------ | ------ |
`byCols` | number | Column offset |
`byRows` | number | Row offset |

**Returns:** *[AbsoluteCellRange](absolutecellrange.md)*

New shifted range

___

### shouldBeRemoved

▸ **shouldBeRemoved**(): *boolean*

*Defined in [hyperformula/src/AbsoluteCellRange.ts:390](https://github.com/handsontable/hyperformula/blob/b2088a8/hyperformula/src/AbsoluteCellRange.ts#L390)*

Reports whether the range has collapsed and should be discarded.

**Returns:** *boolean*

True if width or height is non-positive

___

### size

▸ **size**(): *number*

*Defined in [hyperformula/src/AbsoluteCellRange.ts:442](https://github.com/handsontable/hyperformula/blob/b2088a8/hyperformula/src/AbsoluteCellRange.ts#L442)*

Returns the number of cells in the range.

**Returns:** *number*

Width multiplied by height

___

### toString

▸ **toString**(): *string*

*Defined in [hyperformula/src/AbsoluteCellRange.ts:418](https://github.com/handsontable/hyperformula/blob/b2088a8/hyperformula/src/AbsoluteCellRange.ts#L418)*

Builds a debug string representation of the range.

**Returns:** *string*

Comma-separated `sheet,startCol,startRow,endCol,endRow`

___

### width

▸ **width**(): *number*

*Defined in [hyperformula/src/AbsoluteCellRange.ts:426](https://github.com/handsontable/hyperformula/blob/b2088a8/hyperformula/src/AbsoluteCellRange.ts#L426)*

Returns the width (number of columns) of the range.

**Returns:** *number*

Width in columns

___

### withStart

▸ **withStart**(`newStart`: [SimpleCellAddress](../interfaces/simplecelladdress.md)): *[AbsoluteCellRange](absolutecellrange.md)*

*Defined in [hyperformula/src/AbsoluteCellRange.ts:467](https://github.com/handsontable/hyperformula/blob/b2088a8/hyperformula/src/AbsoluteCellRange.ts#L467)*

Returns a new range with the start address replaced (end address is reused).

**Parameters:**

Name | Type | Description |
------ | ------ | ------ |
`newStart` | [SimpleCellAddress](../interfaces/simplecelladdress.md) | New top-left cell of the range |

**Returns:** *[AbsoluteCellRange](absolutecellrange.md)*

New range

___

### fromAst

▸ **fromAst**(`ast`: CellRangeAst | ColumnRangeAst | RowRangeAst, `baseAddress`: [SimpleCellAddress](../interfaces/simplecelladdress.md)): *[AbsoluteCellRange](absolutecellrange.md)*

*Defined in [hyperformula/src/AbsoluteCellRange.ts:113](https://github.com/handsontable/hyperformula/blob/b2088a8/hyperformula/src/AbsoluteCellRange.ts#L113)*

Builds an absolute range from a range AST node resolved against a base address.

**Parameters:**

Name | Type | Description |
------ | ------ | ------ |
`ast` | CellRangeAst &#124; ColumnRangeAst &#124; RowRangeAst | Range AST node |
`baseAddress` | [SimpleCellAddress](../interfaces/simplecelladdress.md) | Address used to resolve relative references |

**Returns:** *[AbsoluteCellRange](absolutecellrange.md)*

Resolved absolute range

___

### fromAstOrUndef

▸ **fromAstOrUndef**(`ast`: CellRangeAst | ColumnRangeAst | RowRangeAst, `baseAddress`: [SimpleCellAddress](../interfaces/simplecelladdress.md)): *[Maybe](../globals.md#maybe)‹[AbsoluteCellRange](absolutecellrange.md)›*

*Defined in [hyperformula/src/AbsoluteCellRange.ts:129](https://github.com/handsontable/hyperformula/blob/b2088a8/hyperformula/src/AbsoluteCellRange.ts#L129)*

Same as [AbsoluteCellRange.fromAst](absolutecellrange.md#static-fromast) but returns undefined when the AST cannot be resolved into a valid range.

**Parameters:**

Name | Type | Description |
------ | ------ | ------ |
`ast` | CellRangeAst &#124; ColumnRangeAst &#124; RowRangeAst | Range AST node |
`baseAddress` | [SimpleCellAddress](../interfaces/simplecelladdress.md) | Address used to resolve relative references |

**Returns:** *[Maybe](../globals.md#maybe)‹[AbsoluteCellRange](absolutecellrange.md)›*

Resolved range, or undefined on failure

___

### fromCellRange

▸ **fromCellRange**(`x`: [CellRange](../interfaces/cellrange.md), `baseAddress`: [SimpleCellAddress](../interfaces/simplecelladdress.md)): *[AbsoluteCellRange](absolutecellrange.md)*

*Defined in [hyperformula/src/AbsoluteCellRange.ts:143](https://github.com/handsontable/hyperformula/blob/b2088a8/hyperformula/src/AbsoluteCellRange.ts#L143)*

Builds an absolute range from a CellRange (with relative or absolute components) resolved against a base address.

**Parameters:**

Name | Type | Description |
------ | ------ | ------ |
`x` | [CellRange](../interfaces/cellrange.md) | Range with possibly relative components |
`baseAddress` | [SimpleCellAddress](../interfaces/simplecelladdress.md) | Address used to resolve relative references |

**Returns:** *[AbsoluteCellRange](absolutecellrange.md)*

Resolved absolute range

___

### fromCoordinates

▸ **fromCoordinates**(`sheet`: number, `x1`: number, `y1`: number, `x2`: number, `y2`: number): *[AbsoluteCellRange](absolutecellrange.md)*

*Defined in [hyperformula/src/AbsoluteCellRange.ts:201](https://github.com/handsontable/hyperformula/blob/b2088a8/hyperformula/src/AbsoluteCellRange.ts#L201)*

Builds an absolute range from raw integer coordinates.

**Parameters:**

Name | Type | Description |
------ | ------ | ------ |
`sheet` | number | Sheet index |
`x1` | number | Start column |
`y1` | number | Start row |
`x2` | number | End column |
`y2` | number | End row |

**Returns:** *[AbsoluteCellRange](absolutecellrange.md)*

New absolute range

___

### fromSimpleCellAddresses

▸ **fromSimpleCellAddresses**(`start`: [SimpleCellAddress](../interfaces/simplecelladdress.md), `end`: [SimpleCellAddress](../interfaces/simplecelladdress.md)): *[AbsoluteCellRange](absolutecellrange.md)*

*Defined in [hyperformula/src/AbsoluteCellRange.ts:88](https://github.com/handsontable/hyperformula/blob/b2088a8/hyperformula/src/AbsoluteCellRange.ts#L88)*

Builds an absolute range from two cell addresses, selecting the most specific subtype based on finiteness of width/height.

**Parameters:**

Name | Type | Description |
------ | ------ | ------ |
`start` | [SimpleCellAddress](../interfaces/simplecelladdress.md) | Top-left cell address |
`end` | [SimpleCellAddress](../interfaces/simplecelladdress.md) | Bottom-right cell address |

**Returns:** *[AbsoluteCellRange](absolutecellrange.md)*

Cell, column, or row range depending on dimensions

___

### spanFrom

▸ **spanFrom**(`topLeftCorner`: [SimpleCellAddress](../interfaces/simplecelladdress.md), `width`: number, `height`: number): *[AbsoluteCellRange](absolutecellrange.md)*

*Defined in [hyperformula/src/AbsoluteCellRange.ts:157](https://github.com/handsontable/hyperformula/blob/b2088a8/hyperformula/src/AbsoluteCellRange.ts#L157)*

Builds an absolute range with the given dimensions starting at the top-left corner.

**Parameters:**

Name | Type | Description |
------ | ------ | ------ |
`topLeftCorner` | [SimpleCellAddress](../interfaces/simplecelladdress.md) | Top-left cell of the range |
`width` | number | Number of columns (may be infinite) |
`height` | number | Number of rows (may be infinite) |

**Returns:** *[AbsoluteCellRange](absolutecellrange.md)*

New absolute range

___

### spanFromOrUndef

▸ **spanFromOrUndef**(`topLeftCorner`: [SimpleCellAddress](../interfaces/simplecelladdress.md), `width`: number, `height`: number): *[Maybe](../globals.md#maybe)‹[AbsoluteCellRange](absolutecellrange.md)›*

*Defined in [hyperformula/src/AbsoluteCellRange.ts:172](https://github.com/handsontable/hyperformula/blob/b2088a8/hyperformula/src/AbsoluteCellRange.ts#L172)*

Same as [AbsoluteCellRange.spanFrom](absolutecellrange.md#static-spanfrom) but returns undefined for impossible spans (e.g. infinite-column range not anchored at row 0).

**Parameters:**

Name | Type | Description |
------ | ------ | ------ |
`topLeftCorner` | [SimpleCellAddress](../interfaces/simplecelladdress.md) | Top-left cell of the range |
`width` | number | Number of columns (may be infinite) |
`height` | number | Number of rows (may be infinite) |

**Returns:** *[Maybe](../globals.md#maybe)‹[AbsoluteCellRange](absolutecellrange.md)›*

New absolute range, or undefined on invalid input