ExcelFunctions.net

Search Site:

The Excel Offset function returns range of cells that is a specified number of rows and columns from an initial specified range.

The user can specify the size of the returned cell range.

The syntax of the Offset function is:

OFFSET( reference, rows, cols,
[height], [width] )

where the function arguments are listed in the following table:

reference | - | The cell range that is to be offset (can be either a single cell or multiple cells). |

rows | - | The number of rows from the start (upper left) of the supplied reference, to the start of the returned range. |

cols | - | The number of columns from the start (upper left) of the supplied reference, to the start of the returned range. |

[height] | - |
An optional argument that specifies the height of the returned range. If omitted, the returned range is the same height as the supplied reference. |

[width] | - |
An optional argument that specifies the width of the returned range. If omitted, the returned range is the same width as the supplied reference. |

If the optional [height] and [width] arguments are omitted, the returned range is the same height and width as the supplied reference range.

If the returned range relates to invalid cells (e.g. cells that are beyond the edge of the spreadsheet), the Offset function returns an error.

The Offset Function as an Array Formula

If the Offset function is used alone (i.e. not supplied directly to another function), and the returned range consists of more than one cell, the Offset function must either be entered as an Array Formula).

To input an array formula, you need to first highlight the range of cells that are to contain the function result. Type your function into the first cell of the range, and press Ctrl + Shift + Enter.

This is illustrated in Examples 2 & 3 below.In each of the following Offset function examples, the reference range is highlighted in green and the returned offset range is shown in red.

In the above example on the right, the Excel Offset function is used to offset cell A3 by three rows and one column. This returns a reference to cell B6, and so the value of cell B6 is displayed.

As shown in the formula bar, the formula used is:

=OFFSET( A3, 3, 1 )

Note that, in this example:

- The height and width of the returned range are the same as the reference range. Therefore the [height] and [width] arguments can be omitted from the function.

In the above example on the right, the Offset function is used to offset cell A3 by three rows and one column and to return a range that spans one row and four columns. This returns the range, B6-E6.

As shown in the formula bar, the formula used is:

=OFFSET( A3, 3, 1, 1, 4 )

Note that, in this example:

- As the results of the Offset function are to occupy more than one cell, it has been necessary to enter the function as an Array Formula. This can be seen by the curly braces that surround the formula in the formula bar.
- The width of the returned range is greater than the width of the reference range. Therefore the [height] and [width] arguments have been used to specify the dimensions of the offset range.

In the above example on the right, the Offset function is used to offset cells B3-E3 by three rows (and zero columns). This returns the range, B6-E6.

As shown in the formula bar, the formula used is:

=OFFSET( B3:E3, 3, 0 )

Note that, in this example:

- Again, as the results of the Offset function are entered into more than one cell, the function has been entered as an Array Formula (shown by the curly braces that surround the formula in the formula bar).
- The dimensions of the returned range are the same as the dimensions of the reference range and so the [height] and [width] arguments have been omitted from the function call.

In the above example on the right, the Offset function is used to offset cell E3 by one row and minus three columns. This returns the range B4-B10 (containing the figures for week 1). The returned range is then provided as an argument to the Excel SUM function.

As shown in the formula bar, the formula used is:

=SUM( OFFSET( E3, 1, -3, 7 ) )

Note that, in this example:

- The array of values returned by the Offset function is directly input to the Excel SUM function, which returns a single value. Therefore, the formula does not need to be entered as an array formula.
- The height of the offset range is greater than the height of the reference range and so the [height] argument is input as the value 7.
- The width of the offset range is the same as the width of the reference range and so the [width] argument has been omitted from the function.

For further details and examples of the Excel Offset function, see the Microsoft Office website.

If you get an error from the Excel Offset Function, this is likely to be one of the following:

Common Errors

#REF! | - | Occurs if the range resulting from the requested offset is invalid (e.g. extends beyond the edge of the worksheet). |

#VALUE! | - | Occurs if any the supplied rows, cols, [height] or [width] arguments are non-numeric. |