# Spreadsheet Functions

This section contains descriptions of the Spreadsheet functions together with an example.

**Master the leading free office suite!***Watch 1,000+
OpenOffice video tutorials.*

## ADDRESS

Returns a cell address (reference) as text, according to the specified row and column numbers. You can determine whether the address is interpreted as an absolute address (for example, $A$1) or as a relative address (as A1) or in a mixed form (A$1 or $A1). You can also specify the name of the sheet.

### Syntax

ADDRESS(row; column; abs;sheet)

row represents the row number for the cell reference

column represents the column number for the cell reference (the number, not the letter)

abs determines the type of reference:

1: absolute ($A$1)

2: row reference type is absolute; column reference is relative (A$1)

3: row (relative); column (absolute) ($A1)

4: relative (A1)

sheet represents the name of the sheet. It must be placed in double quotes.

### Example:

ADDRESS(1; 1; 2; "Sheet2") returns the following: Sheet2.A$1

If the cell A1 in sheet 2 contains the value -6, you can refer indirectly to the referenced cell using a function in B2 by entering =ABS(INDIRECT(B2)). The result is the absolute value of the cell reference specified in B2, which in this case is 6.

## AREAS

Returns the number of individual ranges that belong to a multiple range. A range can consist of contiguous cells or a single cell.

### Syntax

AREAS(Reference)

Reference represents the reference to a cell or cell range.

### Example

=AREAS(A1:B3;F2;G1) returns 3, as it is a reference to three cells and/or areas.

=AREAS(All) returns 1 if you have defined an area named All under Data - Define Range.

## DDE

Returns the result of a DDE-based link. If the contents of the linked range or section changes, the returned value will also change. You must reload the spreadsheet or choose Edit - Links to see the updated links. Cross-platform links, for example from a OpenOffice.org installation running on a Windows machine to a document created on a Linux machine, are not allowed.

### Syntax

DDE(server;file;range;mode)

Server is the name of a server application. OpenOffice.org applications have the server name "Soffice".

File is the complete file name, including path specification.

Range is the area containing the data to be evaluated.

Mode is an optional parameter that controls the method by which the DDE server converts its data into numbers.

Mode |
Effect |

0 or missing |
Number format from the "Default" cell style |

1 |
Data are always interpreted in the standard format for US English |

2 |
Data are retrieved as text; no conversion to numbers |

### Example

=DDE("soffice";"c:\office\document\data1.sxc";"sheet1.A1") reads the contents of cell A1 in sheet1 of the OpenOffice.org Calc spreadsheet data1.sxc.

=DDE("soffice";"c:\office\document\motto.sxw";"Today's motto") returns a motto in the cell containing this formula. First, you must enter a line in the motto.sxw document containing the motto text and define it as the first line of a section named Today's Motto (in OpenOffice.org Writer under Insert - Section). If the motto is modified (and saved) in the OpenOffice.org Writer document, the motto is updated in all OpenOffice.org Calc cells in which this DDE link is defined.

## ERRORTYPE

Returns the number corresponding to an error value occurring in a different cell. With the aid of this number, you can generate an error message text.

The Status Bar displays the predefined error code from OpenOffice.org if you click the cell containing the error. |

### Syntax

ERRORTYPE(Reference)

Reference contains the address of the cell in which the error occurs.

### Example

If cell A1 displays Err:518, the function =ERRORTYPE(A1) returns the number 518.

## INDEX

INDEX returns the content of a cell, specified by row and column number or an optional range name.

### Syntax

INDEX(reference;row;column;range)

reference is a cell reference, entered either directly or by specifying a range name. If the reference consists of multiple ranges, you must enclose the reference or range name in parentheses.

row (optional) represents the row number of the reference range, for which to return a value.

column (optional) represents the column number of the reference range, for which to return a value.

range (optional) represents the index of the subrange if referring to a multiple range.

In the OpenOffice.org Calc functions, parameters marked as "optional" can be left out only when no parameter follows. For example, in a function with four parameters, where the last two parameters are marked as "optional", you can leave out parameter 4 or parameters 3 and 4, but you cannot leave out parameter 3 alone.

### Example

=INDEX(Prices;4;1) returns the value from row 4 and column 1 of the database range defined in Data - Define as Prices.

=INDEX(SumX;4;1) returns the value from the range SumX in row 4 and column 1 as defined in Insert - Names - Define.

=INDEX((multi);4;1) indicates the value contained in row 4 and column 1 of the (multiple) range, which you named under Insert - Names - Set as multi. The multiple range may consist of several rectangular ranges, each with a row 4 and column 1. If you now want to call the second block of this multiple range enter the number 2 as the range parameter.

=INDEX(A1:B6;1;1) indicates the value in the upper-left of the A1:B6 range.

## INDIRECT

Returns the reference specified by a text string. This function can also be used to return the area of a corresponding string.

### Syntax

INDIRECT(ref)

ref represents a reference to a cell or an area (in text form) for which to return the contents.

If you open an Excel spreadsheet that uses indirect addresses calculated from string functions, the sheet addresses will not be translated automatically. For example, the Excel address in INDIRECT("filename!sheetname"&B1) is not converted into the Calc address in INDIRECT("filename.sheetname"&B1). |

### Example

=INDIRECT(A1) equals 100 if A1 contains C108 as a reference and cell C108 contains a value of 100.

=SUM(INDIRECT("a1:" & ADDRESS(1;3))) totals the cells in the area of A1 up to the cell, whose address is defined by row 1 and column 3. Therefore, area A1:C1 is totaled.

## COLUMN

Returns the column number of a cell reference. If the reference is a cell the column number of the cell is returned; if the parameter is a cell area, the corresponding column numbers are returned in a single-row array if the formula is entered as an array formula. If the COLUMN function with an area reference parameter is not used for an array formula, only the column number of the first cell within the area is determined.

### Syntax

COLUMN(reference)

Reference is the reference to a cell or cell area whose first column number is to be found.

If no reference is entered, the column number of the cell in which the formula is entered is found. OpenOffice.org Calc automatically sets the reference to the current cell.

### Example

=COLUMN(A1) equals 1. Column A is the first column in the table.

=COLUMN(C3:E3) equals 3. Column C is the third column in the table.

=COLUMN(D3:G10) returns 4 because column D is the fourth column in the table and the COLUMN function is not used as an array formula. (In this case, the first value of the array is always used as the result.)

{=COLUMN(B2:B7)} and =COLUMN(B2:B7) both return 2 because the reference only contains column B as the second column in the table. Because single-column areas have only one column number, it does not make a difference whether or not the formula is used as an array formula.

=COLUMN() returns 3 if the formula was entered in column C.

{=COLUMN(Rabbit)} returns the single-row array (3, 4) if "Rabbit" is the named area (C1:D3).

## COLUMNS

Returns the number of columns in the given reference.

### Syntax

COLUMNS(array)

array is the reference to a cell range whose total number of columns is to be found. The argument can also be a single cell.

### Example

=COLUMNS(B5) returns 1 because a cell only contains one column.

=COLUMNS(A1:C5) equals 3. The reference comprises three columns.

=COLUMNS(Rabbit) returns 2 if "Rabbit" is the named range (C1:D3).

## VLOOKUP

Vertical search with reference to adjacent cells to the right. This function checks if a specific value is contained in the first column of an array. The function then returns the value to the same line of a specific array column named by index.

### Syntax

=VLOOKUP(Search criterion;array;index;Sort order)

Search criterion is the value searched for in the first column of the array.

array is the reference, which is to comprise at least two columns.

index is the number of the column in the array that contains the value to be returned. The first column has the number 1.

Sort order is an optional parameter that indicates whether the first column in the array is sorted in ascending order. Enter the Boolean value FALSE if the first column is not sorted in ascending order. Sorted columns can be searched much faster and the function always returns a value, even if the search value was not matched exactly, if it is between the lowest and highest value of the sorted list. In unsorted lists, the search value must be matched exactly. Otherwise the function will return this message: Error: Value Not Available.

### Example

You want to enter the number of a dish on the menu in cell A1, and the name of the dish is to appear as text in the neighboring cell (B1) immediately. The Number to Name assignment is contained in the D1:E100 array. D1 contains 100, E1 contains the name Vegetable Soup, and so forth, for 100 menu items. The numbers in column D are sorted in ascending order; thus, the optional Sort order parameter is not necessary.

Enter the following formula in B1:

=VLOOKUP(A1; D1:E100; 2)

As soon as you enter a number in A1 B1 will show the corresponding text contained in the second column of reference D1:E100. Entering a nonexistent number displays the text with the next number down. To prevent this, enter FALSE as the last parameter in the formula so that an error message is generated when a nonexistent number is entered.

## SHEET

Returns the sheet number of a reference or a string representing a sheet name. If you do not enter any parameters, the result is the sheet number of the spreadsheet containing the formula.

### Syntax

SHEET(Reference)

Reference is optional and is the reference to a cell, an area, or a sheet name string.

### Example

=SHEET(Sheet2.A1) returns 2 if Sheet2 is the second sheet in the spreadsheet document.

## SHEETS

Determines the number of sheets in a reference. If you do not enter any parameters, it returns the number of sheets in the current document.

### Syntax

SHEETS(Reference)

Reference is the reference to a sheet or an area. This parameter is optional.

### Example

=SHEETS(Sheet1.A1:Sheet3.G12) returns 3 if Sheet1, Sheet2, and Sheet3 exist in the sequence indicated.

## MATCH

Returns the relative position of an item in an array that matches a specified value. The function returns the position of the value found in the lookup_array as a number.

### Syntax

MATCH(search criterion;lookup_array;type)

Search Criterion is the value which is to be searched for in the single-row or single-column array.

lookup_array is the reference searched. A lookup array can be a single row or column, or part of a single row or column.

Type may take the values 1, 0, or -1. If Type = 1 or if this optional parameter is missing, it is assumed that the first column of the search array is sorted in ascending order. If Type = -1 it is assumed that the column in sorted in descending order. This corresponds to the same function in Microsoft Excel.

If Type = 0, only exact matches are found. If the search criterion is found more than once, the function returns the first one found. Only if Type = 0 can you search for regular expressions.

If Type = 1 or the third parameter is missing, the last value that is smaller or equal to the search criterion is returned. This applies even when the search array is not sorted. For Type = -1, the first value that is larger or equal is returned.

### Example

=MATCH(200; D1:D100) searches the area D1:D100, which is sorted by column D, for the value 200. As soon as this value is reached, the number of the row in which it was found is returned. If a higher value is found during the search in the column, the number of the previous row is returned.

## OFFSET

Returns the value of a cell offset by a certain number of rows and columns from a given reference point.

### Syntax

OFFSET(reference;rows;columns;height;width)

Reference is the cell from which the function searches for the new reference.

Rows is the number of cells by which the reference was corrected up (negative value) or down.

Columns is the number of columns by which the reference was corrected to the left (negative value) or to the right.

Height is the optional vertical height for an area that starts at the new reference position.

Width is the optional horizontal width for an area that starts at the new reference position.

In the OpenOffice.org Calc functions, parameters marked as "optional" can be left out only when no parameter follows. For example, in a function with four parameters, where the last two parameters are marked as "optional", you can leave out parameter 4 or parameters 3 and 4, but you cannot leave out parameter 3 alone.

### Example

=OFFSET(A1; 2; 2) returns the value in cell C3 (A1 moved by two rows and two columns down). If C3 contains the value 100 this function returns the value 100.

=SUM(OFFSET(A1; 2; 2; 5; 6)) determines the total of the area that starts in cell C3 and has a height of 5 rows and a width of 6 columns (area=C3:H7).

## LOOKUP

Returns the contents of a cell either from a one-row or one-column range or from an array. Optionally, the assigned value (of the same index) is returned in a different column and row. As opposed to VLOOKUP and HLOOKUP, search and result vector may be at different positions; they do not have to be adjacent. Additionally, the search vector for the LOOKUP must be sorted, otherwise the search will not return any usable results.

### Syntax

LOOKUP(Search criterion;Search vector;result_vector)

Search criterion is the value to be searched for; entered either directly or as a reference.

Search vector is the single-row or single-column area to be searched.

result_vector is another single-row or single-column range from which the result of the function is taken. The result is the cell of the result vector with the same index as the instance found in the search vector.

### Example

=LOOKUP(A1; D1:D100;F1:F100) searches the corresponding cell in range D1:D100 for the number you entered in A1. For the instance found, the index is determined, for example, the 12th cell in this range. Then, the contents of the 12th cell are returned as the value of the function (in the result vector).

## STYLE

Applies a style to the cell containing the formula. After a set amount of time, another style can be applied. This function always returns the value 0, allowing you to add it to another function without changing the value. Together with the CURRENT function you can apply a color to a cell regardless of the value. For example: =...+STYLE(IF(CURRENT()>3;"red";"green")) applies the style "red" to the cell if the value is greater than 3, otherwise the style "green" is applied. Both cell formats have to be defined beforehand.

### Syntax

STYLE(style;time;style2)

Style is the name of a cell style assigned to the cell. Style names must be entered in quotation marks.

Time is an optional time range in seconds. If this parameter is missing the style will not be changed after a certain amount of time has passed.

Style2 is the optional name of a cell style assigned to the cell after a certain amount of time has passed. If this parameter is missing "Standard" is assumed.

In the OpenOffice.org Calc functions, parameters marked as "optional" can be left out only when no parameter follows. For example, in a function with four parameters, where the last two parameters are marked as "optional", you can leave out parameter 4 or parameters 3 and 4, but you cannot leave out parameter 3 alone.

### Example

=STYLE("Invisible";60;"Default") formats the cell in transparent format for 60 seconds after the document was recalculated or loaded, then the Default format is assigned. Both cell formats have to be defined beforehand.

## CHOOSE

Uses an index to return a value from a list of up to 30 values.

### Syntax

CHOOSE(Index; value1;...value30)

Index is a reference or number between 1 and 30 indicating which value is to be taken from the list.

Value1...Value30 is the list of values entered as a reference to a cell or as individual values.

### Example

=CHOOSE(A1; B1; B2; B3; "Today"; "Yesterday"; "Tomorrow"), for example, returns the contents of cell B2 for A1 = 2; for A1 = 4, the function returns the text "Today".

## HLOOKUP

Searches for a value and reference to the cells below the selected area. This function verifies if the first row of an array contains a certain value. The function returns then the value in a row of the array, named in the Index, in the same column.

### Syntax

=HLOOKUP(search_criteria;array;Index;sorted)

See also:VLOOKUP (columns and rows are exchanged)

## ROW

Returns the row number of a cell reference. If the reference is a cell, it returns the row number of the cell. If the reference is a cell range, it returns the corresponding row numbers in a one-column Array if the formula is entered as an array formula. If the ROW function with a range reference is not used in an array formula, only the row number of the first range cell will be returned.

### Syntax

ROW(reference)

Reference is a cell, an area, or the name of an area.

If you do not indicate a reference, the row number of the cell in which the formula is entered will be found. OpenOffice.org Calc automatically sets the reference to the current cell.

### Example

=ROW(B3) returns 3 because the reference refers to the third row in the table.

{=ROW(D5:D8)} returns the single-column array (5, 6, 7, 8) because the reference specified contains rows 5 through 8.

=ROW(D5:D8) returns 5 because the ROW function is not used as array formula and only the number of the first row of the reference is returned.

{=ROW(A1:E1)} and =ROW(A1:E1) both return 1 because the reference only contains row 1 as the first column in the table. (Because single-row areas only have one row number it does not make any difference whether or not the formula is used as an array formula.)

=ROW() returns 3 if the formula was entered in row 3.

{=ROW(Rabbit)} returns the single-column array (1, 2, 3) if "Rabbit" is the named area (C1:D3).

## ROWS

Returns the number of rows in a reference or array.

### Syntax

ROWS(array)

array is the reference or named area whose total number of rows is to be determined.

### Example

=Rows(B5) returns 1 because a cell only contains one row.

=ROWS(A10:B12) returns 3.

=ROWS(Rabbit) returns 3 if "Rabbit" is the named area (C1:D3).

## HYPERLINK

When you click a cell that contains the HYPERLINK function, the hyperlink opens.

If you use the optional cell text parameter, the formula locates the URL, and then displays the text.

To open a hyperlinked cell with the keyboard, select the cell, press F2 to enter the Edit mode, move the cursor in front of the hyperlink, press Shift+F10, and then choose Open Hyperlink. |

### Syntax

HYPERLINK (URL) or HYPERLINK (URL;cell text)

URL specifies the link target. The optional cell text parameter is the text that is displayed in the cell and the result of the function. If the cell text parameter is not specified, the URL is displayed in the cell text and in the result of the function.

### Example

=HYPERLINK("http://www.example.org") displays the text "http://www.example.org" in the cell and executes the hyperlink http://www.example.org when clicked.

=HYPERLINK("http://www.example.org";"Click here") displays the text "Click here" in the cell and executes the hyperlink http://www.example.org when clicked.

=HYPERLINK($B4) where cell B4 contains "http://www.example.org". The function adds "http://www.example.org" to the URL of the hyperlink cell and returns the same text which is used as formula result.

=HYPERLINK("http://www.";"Click ") & "example.org" displays the text "Click example.org" in the cell and executes the hyperlink http://www.example.org when clicked.

# Index

This help text for MS Windows , published from the OpenOffice.org Help files Release 2.1 under the Public Documentation License 1.0.