## org.apache.poi.ss.formula.functions
Class Index

    java.lang.Object
      org.apache.poi.ss.formula.functions.Index

All Implemented Interfaces:
  Function, Function2Arg, Function3Arg, Function4Arg

    public final class Index

extends java.lang.Object
implements Function2Arg, Function3Arg, Function4Arg

Implementation for the Excel function INDEX

Syntax :
INDEX ( reference, row_num[, column_num [, area_num]]) INDEX ( array, row_num[, column_num])

reference | typically an area reference, possibly a union of areas
array | a literal array value (currently not supported)
row_num | selects the row within the array or area reference
column_num | selects column within the array or area reference. default is 1
area_num | used when reference is a union of areas

Author:
  Josh Micich

Constructor Summary
`Index()`

Method Summary
`ValueEval` `evaluate(int srcRowIndex, int srcColumnIndex, ValueEval arg0, ValueEval arg1)` see `Function.evaluate(ValueEval[], int, int)`
`ValueEval` `evaluate(int srcRowIndex, int srcColumnIndex, ValueEval arg0, ValueEval arg1, ValueEval arg2)` see `Function.evaluate(ValueEval[], int, int)`
`ValueEval` `evaluate(int srcRowIndex, int srcColumnIndex, ValueEval arg0, ValueEval arg1, ValueEval arg2, ValueEval arg3)` see `Function.evaluate(ValueEval[], int, int)`
`ValueEval` `evaluate(ValueEval[] args, int srcRowIndex, int srcColumnIndex)`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### Index

    public Index()

Method Detail

### evaluate

    public ValueEval evaluate(int srcRowIndex,
                              int srcColumnIndex,
                              ValueEval arg0,
                              ValueEval arg1)

  Description copied from interface: `Function2Arg`
  see `Function.evaluate(ValueEval[], int, int)`

  Specified by:
    `evaluate` in interface `Function2Arg`

### evaluate

    public ValueEval evaluate(int srcRowIndex,
                              int srcColumnIndex,
                              ValueEval arg0,
                              ValueEval arg1,
                              ValueEval arg2)

  Description copied from interface: `Function3Arg`
  see `Function.evaluate(ValueEval[], int, int)`

  Specified by:
    `evaluate` in interface `Function3Arg`

### evaluate

    public ValueEval evaluate(int srcRowIndex,
                              int srcColumnIndex,
                              ValueEval arg0,
                              ValueEval arg1,
                              ValueEval arg2,
                              ValueEval arg3)

  Description copied from interface: `Function4Arg`
  see `Function.evaluate(ValueEval[], int, int)`

  Specified by:
    `evaluate` in interface `Function4Arg`

### evaluate

    public ValueEval evaluate(ValueEval[] args,
                              int srcRowIndex,
                              int srcColumnIndex)

  Specified by:
    `evaluate` in interface `Function`
  Parameters:
    `args` - the evaluated function arguments. Empty values are represented with `BlankEval` or `MissingArgEval`, never `null`.
    `srcRowIndex` - row index of the cell containing the formula under evaluation
    `srcColumnIndex` - 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 2012 The Apache Software Foundation or its licensors, as applicable.