org.apache.poi.ss.formula.functions

## Class Offset

- java.lang.Object
- - org.apache.poi.ss.formula.functions.Offset

- All Implemented Interfaces:
    Function

      public final class Offset
      extends java.lang.Object
      implements Function

  Implementation for Excel function OFFSET()

  OFFSET returns an area reference that is a specified number of rows and columns from a reference cell or area.

  Syntax:
  OFFSET(reference, rows, cols, height, width)

  reference is the base reference.
  rows is the number of rows up or down from the base reference.
  cols is the number of columns left or right from the base reference.
  height (default same height as base reference) is the row count for the returned area reference.
  width (default same width as base reference) is the column count for the returned area reference.

  Author:
    Josh Micich

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `Offset()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `ValueEval` | `evaluate(ValueEval[] args, int srcCellRow, int srcCellCol)`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### Offset

          public Offset()

  - ### Method Detail

    - #### evaluate

          public ValueEval evaluate(ValueEval[] args,
                                    int srcCellRow,
                                    int srcCellCol)

      Specified by:
        `evaluate` in interface `Function`
      Parameters:
        `args` - the evaluated function arguments. Empty values are represented with `BlankEval` or `MissingArgEval`, never `null`.
        `srcCellRow` - row index of the cell containing the formula under evaluation
        `srcCellCol` - column index of the cell containing the formula under evaluation
      Returns:
        The evaluated result, possibly an `ErrorEval`, never `null`. Note - Excel uses the error code #NUM! instead of IEEE NaN, so when numeric functions evaluate to `Double.NaN` be sure to translate the result to `ErrorEval.NUM_ERROR`.

Copyright 2020 The Apache Software Foundation or its licensors, as applicable.