PHPExcel_Calculation_LookupRef

category | PHPExcel
package | PHPExcel_Calculation
copyright | Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel)

### Methods

## CELL_ADDRESS

    CELL_ADDRESS(\row $row, \column $column, \relativity $relativity, \referenceStyle $referenceStyle, \sheetText $sheetText) : string

Static

Creates a cell address as text, given specified row and column numbers.

Excel Function: =ADDRESS(row, column, [relativity], [referenceStyle], [sheetText])

### Parameters

#### $row

`\row`

Row number to use in the cell reference

#### $column

`\column`

Column number to use in the cell reference

#### $relativity

`\relativity`

Flag indicating the type of reference to return 1 or omitted Absolute 2 Absolute row; relative column 3 Relative row; absolute column 4 Relative

#### $referenceStyle

`\referenceStyle`

A logical value that specifies the A1 or R1C1 reference style. TRUE or omitted CELL_ADDRESS returns an A1-style reference FALSE CELL_ADDRESS returns an R1C1-style reference

#### $sheetText

`\sheetText`

Optional Name of worksheet to use

### Returns

`string`

## CHOOSE

    CHOOSE() : mixed

Static

Uses lookup_value to return a value from the list of value arguments. Use CHOOSE to select one of up to 254 values based on the lookup_value.

Excel Function: =CHOOSE(index_num, value1, [value2], ...)

### Returns

`mixed`The selected value

## COLUMN

    COLUMN(\cellAddress $cellAddress) : integer

Static

Returns the column number of the given cell reference If the cell reference is a range of cells, COLUMN returns the column numbers of each column in the reference as a horizontal array. If cell reference is omitted, and the function is being called through the calculation engine, then it is assumed to be the reference of the cell in which the COLUMN function appears; otherwise this function returns 0.

Excel Function: =COLUMN([cellAddress])

### Parameters

#### $cellAddress

`\cellAddress`

A reference to a range of cells for which you want the column numbers

### Returns

`integer`or array of integer

## COLUMNS

    COLUMNS(\cellAddress $cellAddress) : integer

Static

Returns the number of columns in an array or reference.

Excel Function: =COLUMNS(cellAddress)

### Parameters

#### $cellAddress

`\cellAddress`

An array or array formula, or a reference to a range of cells for which you want the number of columns

### Returns

`integer`The number of columns in cellAddress

## HLOOKUP The HLOOKUP function searches for value in the top-most row of lookup_array and returns the value in the same column based on the index_number.

    HLOOKUP(\lookup_value $lookup_value, \lookup_array $lookup_array, \index_number $index_number, \not_exact_match $not_exact_match) : mixed

Static

### Parameters

#### $lookup_value

`\lookup_value`

The value that you want to match in lookup_array

#### $lookup_array

`\lookup_array`

The range of cells being searched

#### $index_number

`\index_number`

The row number in table_array from which the matching value must be returned. The first row is 1.

#### $not_exact_match

`\not_exact_match`

Determines if you are looking for an exact match based on lookup_value.

### Returns

`mixed`The value of the found cell

## HYPERLINK

    HYPERLINK(string $linkURL, string $displayName, \PHPExcel_Cell $pCell) : mixed

Static

Excel Function: =HYPERLINK(linkURL,displayName)

access | public
category | Logical Functions

### Parameters

#### $linkURL

`string`

Value to check, is also the value returned when no error

#### $displayName

`string`

Value to return when testValue is an error condition

#### $pCell

`\PHPExcel_Cell`

The cell to set the hyperlink in

### Returns

`mixed`The value of $displayName (or $linkURL if $displayName was blank)

## INDEX

    INDEX(\range_array $arrayValues, \row_num $rowNum, \column_num $columnNum) : mixed

Static

Uses an index to choose a value from a reference or array

Excel Function: =INDEX(range_array, row_num, [column_num])

### Parameters

#### $arrayValues

`\range_array`

A range of cells or an array constant

#### $rowNum

`\row_num`

The row in array from which to return a value. If row_num is omitted, column_num is required.

#### $columnNum

`\column_num`

The column in array from which to return a value. If column_num is omitted, row_num is required.

### Returns

`mixed`the value of a specified cell or array of cells

## INDIRECT

    INDIRECT(\cellAddress $cellAddress, \PHPExcel_Cell $pCell) : mixed

Static

Returns the reference specified by a text string. References are immediately evaluated to display their contents.

Excel Function: =INDIRECT(cellAddress)

NOTE - INDIRECT() does not yet support the optional a1 parameter introduced in Excel 2010

todo | Support for the optional a1 parameter introduced in Excel 2010

### Parameters

#### $cellAddress

`\cellAddress`

The cell address of the current cell (containing this formula)

#### $pCell

`\PHPExcel_Cell`

The current cell (containing this formula)

### Returns

`mixed`The cells referenced by cellAddress

## LOOKUP The LOOKUP function searches for value either from a one-row or one-column range or from an array.

    LOOKUP(\lookup_value $lookup_value, \lookup_vector $lookup_vector, \result_vector $result_vector) : mixed

Static

### Parameters

#### $lookup_value

`\lookup_value`

The value that you want to match in lookup_array

#### $lookup_vector

`\lookup_vector`

The range of cells being searched

#### $result_vector

`\result_vector`

The column from which the matching value must be returned

### Returns

`mixed`The value of the found cell

## MATCH

    MATCH(\lookup_value $lookup_value, \lookup_array $lookup_array, \match_type $match_type) : integer

Static

The MATCH function searches for a specified item in a range of cells

Excel Function: =MATCH(lookup_value, lookup_array, [match_type])

### Parameters

#### $lookup_value

`\lookup_value`

The value that you want to match in lookup_array

#### $lookup_array

`\lookup_array`

The range of cells being searched

#### $match_type

`\match_type`

The number -1, 0, or 1. -1 means above, 0 means exact match, 1 means below. If match_type is 1 or -1, the list has to be ordered.

### Returns

`integer`The relative position of the found item

## OFFSET

    OFFSET(\cellAddress $cellAddress, \rows $rows, \cols $columns, \height $height, \width $width) : string

Static

Returns a reference to a range that is a specified number of rows and columns from a cell or range of cells. The reference that is returned can be a single cell or a range of cells. You can specify the number of rows and the number of columns to be returned.

Excel Function: =OFFSET(cellAddress, rows, cols, [height], [width])

### Parameters

#### $cellAddress

`\cellAddress`

The reference from which you want to base the offset. Reference must refer to a cell or range of adjacent cells; otherwise, OFFSET returns the #VALUE! error value.

#### $rows

`\rows`

The number of rows, up or down, that you want the upper-left cell to refer to. Using 5 as the rows argument specifies that the upper-left cell in the reference is five rows below reference. Rows can be positive (which means below the starting reference) or negative (which means above the starting reference).

#### $columns

`\cols`

The number of columns, to the left or right, that you want the upper-left cell of the result to refer to. Using 5 as the cols argument specifies that the upper-left cell in the reference is five columns to the right of reference. Cols can be positive (which means to the right of the starting reference) or negative (which means to the left of the starting reference).

#### $height

`\height`

The height, in number of rows, that you want the returned reference to be. Height must be a positive number.

#### $width

`\width`

The width, in number of columns, that you want the returned reference to be. Width must be a positive number.

### Returns

`string`A reference to a cell or range of cells

## ROW

    ROW(\cellAddress $cellAddress) : integer

Static

Returns the row number of the given cell reference If the cell reference is a range of cells, ROW returns the row numbers of each row in the reference as a vertical array. If cell reference is omitted, and the function is being called through the calculation engine, then it is assumed to be the reference of the cell in which the ROW function appears; otherwise this function returns 0.

Excel Function: =ROW([cellAddress])

### Parameters

#### $cellAddress

`\cellAddress`

A reference to a range of cells for which you want the row numbers

### Returns

`integer`or array of integer

## ROWS

    ROWS(\cellAddress $cellAddress) : integer

Static

Returns the number of rows in an array or reference.

Excel Function: =ROWS(cellAddress)

### Parameters

#### $cellAddress

`\cellAddress`

An array or array formula, or a reference to a range of cells for which you want the number of rows

### Returns

`integer`The number of rows in cellAddress

## TRANSPOSE

    TRANSPOSE(array $matrixData) : array

Static

### Parameters

#### $matrixData

`array`

A matrix of values

### Returns

`array`Unlike the Excel TRANSPOSE function, which will only work on a single row or column, this function will transpose a full matrix.

## VLOOKUP The VLOOKUP function searches for value in the left-most column of lookup_array and returns the value in the same row based on the index_number.

    VLOOKUP(\lookup_value $lookup_value, \lookup_array $lookup_array, \index_number $index_number, \not_exact_match $not_exact_match) : mixed

Static

### Parameters

#### $lookup_value

`\lookup_value`

The value that you want to match in lookup_array

#### $lookup_array

`\lookup_array`

The range of cells being searched

#### $index_number

`\index_number`

The column number in table_array from which the matching value must be returned. The first column is 1.

#### $not_exact_match

`\not_exact_match`

Determines if you are looking for an exact match based on lookup_value.

### Returns

`mixed`The value of the found cell

## _vlookupSort()

    _vlookupSort($a, $b)

Static

### Parameters

#### $a

#### $b