Module
Contents
Index 🔎︎

# 电子表格函数

本节介绍电子表格函数并提供相关示例。

要访问此命令...

插入 - 函数 - 类别 电子表格

## [text/scalc/01/func_error_type.xhp#error_type_head not found].

Returns a number representing a specific Error type, or the error value #N/A, if there is no error.

## ADDRESS

按照指定行编号和列编号，返回文字格式的单元格引用地址。 您可以自己决定是采用绝对地址（如 $A$1）还是相对地址（如 A1）或是综合型地址（A$1 或 $A1）来表示引用的单元格，还可以指定工作表的名称。

为了协同工作，ADDRESS 和 INDIRECT 函数支持一个可选参数，以指定是使用 R1C1 地址符号还是惯用的 A1 符号。

在 ADDRESS 中，该参数被插入到第四参数的位置，可选的工作表名称参数移至第五位。

在 INDIRECT 中，该参数被设置为第二参数。

在两个函数中，如果该参数值为 0，使用 R1C1 符号。如果未给定该参数值或值不为 0，则使用 A1 符号。

假设使用的是 R1C1 符号，ADDRESS 使用感叹号 '!' 作为工作表名称分隔符返回地址字符串，INDIRECT 就把感叹号当做工作表名称分隔符。如果使用的是 A1 符号，两个函数都使用圆点 '.' 作为工作表名称分隔符。

When opening documents from ODF 1.0/1.1 format, the ADDRESS functions that show a sheet name as the fourth parameter will shift that sheet name to become the fifth parameter. A new fourth parameter with the value 1 will be inserted.

当使用 ODF 1.0/1.1 格式存储文档时，如果 ADDRESS 函数有第四参数，该参数将会被删除。

如果 ADDRESS 函数新设置的第四参数值为 0 的话，请不要使用旧的 ODF 1.0/1.1 格式保存电子表格。

INDIRECT 函数会被保存，但不会被转换为 ODF 1.0/1.1 格式。如果存在第二参数，则对于该函数，较旧版本的 Calc 会返回错误。

### 语法

ADDRESS(Row; Column; Abs; A1; )

Row 表示引用的单元格的行号

Column 表示引用的单元格的列号（是数字，而非字母）

Abs 确定引用类型：

1: absolute ($A$1)

2：行号采用绝对引用；列号采用相对引用(A$1)

3：行号采用相对引用；列号采用绝对引用($A1)

4：相对引用(A1)

A1（可选的）- 如果设置为 0，使用 R1C1 符号。如果省略该参数，或被设置为其他非 0 的值，则使用 A1 符号。

Sheet 代表工作表的名称。必须放在双引号中。

### 示例

=ADDRESS(1;1;2;"Sheet2") 返回：Sheet2.A$1

## AREAS

返回多重区域中含有的单个区域的数目。一个区域可以由多个邻近的单元格组成，也可以由一个单元格组成。

此函数需要一个单独的参数。如果您声明了多个范围，则必须将它们括在附加的括号中。可以使用分号 (;) 作为分隔符输入多个范围，但此符号会自动转换为波浪号 (~) 运算符。波浪号用于合并范围。

### 语法

AREAS(reference)

Reference 表示对一个单元格或者一个单元格区域的引用。

### 示例

=AREAS((A1:B3;F2;G1)) 返回 3，因为它引用了三个单元格和/或区域。此项在输入后会转换为 =AREAS((A1:B3~F2~G1))。

如果通过数据 - 定义范围定义名称为 All 的区域，则 =AREAS(All) 返回 1。

## CHOOSE

使用索引从多达 30 个值的列表中返回一个值。

### 语法

CHOOSE(Index; Value1; ...; Value30)

Index 是某一个1至30的之中的要反馈数值的引用数。

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

### 示例

例如，=CHOOSE(A1;B1;B2;B3;"Today";"Yesterday";"Tomorrow")，若 A1 = 2，返回单元格 B2 的内容；若 A1 = 4，函数返回文本 "Today"。

## COLUMN

返回单元格引用的列号。 如果引用的是一个单元格，函数返回的是单元格的列号；如果参数是一个单元格区域，则以一个单行矩阵来返回相应的列号。如果函数公式作为矩阵公式使用。 如果函数 COLUMN 引用的是一个单元格范围，且函数不是作为矩阵公式使用的，则只返回范围中第一个单元格的列号。

### 语法

COLUMN(Reference)

reference是一个要获得其列号的单元格或单元格区域。

在省略对参数 reference 的输入时，函数反馈的便是公式所在处的单元格列号(LibreOffice Calc 会自动引用光标所在之处的单元格)。

### 示例

=COLUMNS(A1) 等于 1。A 列是表格中的第一列。

=COLUMNS(C3:E3) 等于 3。C 列是表格中的第三列。

=COLUMN(D3:G10) 返回 4，因为 D 列是表格中的第四列，并且函数 COLUMN 不能用作数组公式。（在这种情况下，数组的第一个数值被作为结果。）

{=COLUMN(B2:B7)} 和 =COLUMN(B2:B7) 都返回 2，因为引用仅包含在表格中作为第二列的 B 列。由于单列区域仅有一个列编号，所以公式是否作为数组公式使用对结果没有影响。

如果在列 C 中输入公式，则 =COLUMN() 返回 3。

如果 "Rabbit" 是命名的区域 (C1:D3)，则 {=COLUMN(Rabbit)} 返回单行数组 (3, 4)。

## COLUMNS

返回给定引用中的列数。

### 语法

COLUMNS(Array)

Array 用于指定要计算其列数的单元格区域，该参数也可以是一个单元格

### 示例

=COLUMNS(B5) 返回 1，因为单元格仅包含 1 列。

=COLUMNS(A1:C5) 等于 3。该引用包含 3 列。

如果 Rabbit 是命名的区域 (C1:D3)，则 =COLUMNS(Rabbit) 返回 2。

## DDE

返回一个基于 DDE 的链接。如果链接区域或区域中的内容发生变化，公式的结果也会相应地发生变化。您必须重新装入工作表或选择编辑 - 链接来查看更新后的链接。不支持跨平台链接，例如从运行于 Windows 计算机上安装的 LibreOffice 链接到 Linux 计算机上创建的文档。

### 语法

DDE("Server"; "File"; "Range"; Mode)

Server is the name of a server application. LibreOffice applications have the server name "soffice".

file 是具备完整路径的文件名。

range 是一个要读取数据的区域。

mode 是一个可选参数，用来控制 DDE 服务器中的数据与数字的转换方式。

模式 | 效果
0 或空缺 | 采用“默认”单元格样式中的数字格式
1 | 采用英语(美国)标准格式来表示数据
2 | 数据只是当作文字采用，而不转化成数字。

### 示例

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

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

## ERRORTYPE

返回与不同单元格中出现的错误值相对应的数字。可以利用此数字生成错误消息文本。

如果发生错误，此函数将返回一个逻辑值或数字值。

如果单击含有错误值的单元格，预设的错误码就会显示在 LibreOffice 状态栏中。

### 语法

ERRORTYPE(reference)

reference 是一个出现错误值的单元格引用。

### 示例

如果单元格 A1 显示 Err:518，该函数 =ERRORTYPE(A1) 返回数字 518。

## GETPIVOTDATA

GETPIVOTDATA 函数从透视表中返回一个结果数值。因为数值是通过 Field 和 Item 名称寻址计算的，所以即使透视表的布局更改，数值仍然有效。

### 语法

可以使用两种不同的语法定义：

GETPIVOTDATA(TargetField; pivot table; [ Field 1; Item 1; ... ])

GETPIVOTDATA(pivot table; Constraints)

如果精确给出两个参数，且其中第一个参数是单元格或单元格区域引用，则采用的是第二语法。其他全部情况则采用的是第一语法。“函数向导”显示第一语法。

### 第一语法

TargetField 是一个字符串，选择 透视表的某个数据字段。字符串可以是数据源列的名称，或者在表格中显示的数据字段名称（如 "Sum - Sales"）。

透视表 是单元格或单元格区域的引用，它位于透视表内或包含透视表。如果单元格区域包含几个透视表，则使用最后创建的表格。

如果 Field n / Item n 对没有给出，则返回总计。否则，每一对增加一个结果必须满足的约束。Field n 是透视表中某个字段的名称。Item n 是此字段中某个项目的名称。

如果透视表中包含唯一的满足全部约束的结果，或者某分类汇总结果概括了全部匹配值，则返回此结果。如果没有匹配的结果，或者有些匹配结果但没有分类汇总结果，则返回错误。这些条件应用于包含在透视表中的结果。

如果源数据包含被透视表的设置隐藏的条目，则忽略它们。Field/Item 对的顺序不重要。Field 和 Item 名称不区分字母大小写。

如果没有给定某个页面字段的约束，则字段的选定值被隐式使用。如果给定某个页面字段的约束，则必须与字段的选定值匹配，否则返回错误。页面字段是位于透视表左上方的字段，用于填充“透视表版式”对话框中的“页面字段”区域。对于每一个页面字段，可以选定某一项（值），表示只有该项包含在计算中。

透视表中的分类汇总值只有使用了函数 "auto" （除非在约束中指定，参阅下面的第二语法）才能使用。

### 第二语法

透视表 与第一语法中的含义相同。

Constraints是一个用空格分隔的列表。条目可以被引号（单引号）引起。整个字符串必须用引号（双引号）引起，除非您引用的字符串来自其他单元格。

条目之一可以作为数据字段名称。如果透视表只包含一个数据字段，则数据字段名可以被省略，否则必须出现。

其他每个条目以 Field[Item] 形式指定约束（使用字符 [ 与 ]），或者，当项目名称在用于透视表的所有字段中唯一时，简化为 Item。

函数名称能够以 Field[Item;Function] 的形式添加，这将使得约束只能匹配使用了此函数的分类汇总值。可能的函数名为 Sum、Count、Average、Max、Min、Product、Count（仅适用于数字）、StDev（抽样）、StDevP（总体样本）、Var（抽样）和 VarP（总体样本），不区分大小写。

## HLOOKUP

在选定区域的下方搜索某个数值和对单元格的引用。此函数检验矩阵的第一行是否含有特定数值，然后返回由 Index 指定的矩阵行中、与搜索到的数值在同一列中的数值。

查找支持正则表达式。例如，您可以输入 "all.*" 来查找起始部分为 "all" 且后跟任意字符的内容首次出现的位置。如果您想要查找一个同时也是正则表达式的文本，则您必须在每个字符前面加上一个 \ 字符。您能够在 LibreOffice - 首选项工具 - 选项
- LibreOffice Calc - 计算中切换正则表达式自动求值功能的打开和关闭状态。

### 语法

HLOOKUP(SearchCriterion; Array; Index; Sorted)

See also: VLOOKUP (columns and rows are exchanged)

处理空白单元格

## HYPERLINK

单击包含 HYPERLINK 函数的单元格时，超链接将会打开。

如果使用可选的 cell text 参数，公式会查找 URL，然后显示文本或数字。

要用键盘打开超链接的单元格，请选择该单元格，按 F2 进入“编辑”模式，在超链接前面移动光标，按 Shift+F10，然后选择打开超链接。

### 语法

HYPERLINK("URL") 或 HYPERLINK("URL"; "CellText")

URL 指定链接目标。可选的参数 CellText 是单元格中显示的文本和函数结果。如果未指定参数 CellText，URL 将显示在单元格文本和函数结果中。

对于空单元格和矩阵元素返回数字 0。

### 示例

=HYPERLINK("http://www.example.org") 在单元格中显示文本 "http://www.example.org"，并在单击后执行超链接 "http://www.example.org"。

=HYPERLINK("http://www.example.org";"单击此处") 在单元格中显示文本 "单击此处"，并在单击后执行超链接 "http://www.example.org"。

=HYPERLINK("http://www.example.org";12345) 显示数字 12345 并在单击时执行超链接 http://www.example.org。

=HYPERLINK($B4) 其中单元格 B4 包含http://www.example.org。该函数将 "http://www.example.org" 添加到超链接单元格的 URL，并返回用作公式结果的相同文本。

=HYPERLINK("http://www.";"单击 ") & "example.org" 在单元格中显示文本“单击 example.org”，并在单击后执行超链接 http://www.example.org。

=HYPERLINK("#Sheet1.A1";"跳至顶部") 显示文字 “跳至顶部”，并跳转到此文档的工作表 1 中的单元格 A1。

=HYPERLINK("file:///C:/writer.odt#Specification";"Go to Writer bookmark") displays the text "Go to Writer bookmark", loads the specified text document and jumps to bookmark "Specification".

## INDEX

INDEX 返回子区域，该区域由行号和列号或者可选的区域索引指定。依赖于上下文，INDEX 返回一个引用或内容。

### 语法

INDEX(Reference; Row; Column; Range)

Reference 是一个单元格引用，可以直接输入，也可以通过指定区域名称来输入。如果该引用含有多重区域，则必须用圆括号将引用或区域名称括起来。

Row （可选的）代表所引用区域的行索引，将为该行返回一个值。若为零（未指定行），则返回所有引用行。

Column （可选择的）代表所引用区域的列索引，将为该列标返回一个值。若为零（未指定列），则返回所有引用的列。

如果引用了多重区域，则 Range （可选择的）代表子区域的索引。

### 示例

=INDEX(Prices;4;1) 返回通过菜单数据 - 定义所定义的数据库区域 Prices 中的第 4 行第 1 列的值。

=INDEX(SumX;4;1) returns the value from the range SumX in row 4 and column 1 as defined in Sheet - Named Ranges and Expressions - Define.

=INDEX(A1:B6;1) 返回 A1:B6 中第一行的引用。

=INDEX(A1:B6;0;1) 返回 A1:B6 中第一列的引用。

=INDEX((multi);4;1) indicates the value contained in row 4 and column 1 of the (multiple) range, which you named under Sheet - Named Ranges and Expressions - Define 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) 的结果是 A1:B6 区域中左上角单元格处的数值。

=INDEX((multi);0;0;2) 返回多个区域中的第二个区域的引用。

## INDIRECT

返回文本字符串指定的引用。此函数也可用于返回相应字符串的区域。

为了协同工作，ADDRESS 和 INDIRECT 函数支持一个可选参数，以指定是使用 R1C1 地址符号还是惯用的 A1 符号。

在 ADDRESS 中，该参数被插入到第四参数的位置，可选的工作表名称参数移至第五位。

在 INDIRECT 中，该参数被设置为第二参数。

在两个函数中，如果该参数值为 0，使用 R1C1 符号。如果未给定该参数值或值不为 0，则使用 A1 符号。

假设使用的是 R1C1 符号，ADDRESS 使用感叹号 '!' 作为工作表名称分隔符返回地址字符串，INDIRECT 就把感叹号当做工作表名称分隔符。如果使用的是 A1 符号，两个函数都使用圆点 '.' 作为工作表名称分隔符。

When opening documents from ODF 1.0/1.1 format, the ADDRESS functions that show a sheet name as the fourth parameter will shift that sheet name to become the fifth parameter. A new fourth parameter with the value 1 will be inserted.

当使用 ODF 1.0/1.1 格式存储文档时，如果 ADDRESS 函数有第四参数，该参数将会被删除。

如果 ADDRESS 函数新设置的第四参数值为 0 的话，请不要使用旧的 ODF 1.0/1.1 格式保存电子表格。

INDIRECT 函数会被保存，但不会被转换为 ODF 1.0/1.1 格式。如果存在第二参数，则对于该函数，较旧版本的 Calc 会返回错误。

### 语法

INDIRECT(Ref; A1)

Ref 表示对要返回其内容的单元格或区域的引用 (以文字格式表示)。

A1（可选的）- 如果设置为 0，使用 R1C1 符号。如果省略该参数，或被设置为其他非 0 的值，则使用 A1 符号。

如果您打开了一个使用字符串函数计算间接地址的 Excel 电子表格，则不会自动转换工作表地址。例如，INDIRECT("filename!sheetname"&B1) 中的 Excel 地址不会被转换为 INDIRECT("filename.sheetname"&B1) 中的 Calc 地址。

### 示例

如果 A1 引用的是 C108，而单元格 C108 内含有数值 100，则 =INDIRECT(A1) 等于 100。

=SUM(INDIRECT("a1:" & ADDRESS(1;3))) 计算单元格 A1 与地址定义为第 1 行第 3 列的单元格之间的单元格总和。即计算区域 A1:C1 的总和。

如果工作表 sheet 2 中的单元格 A1 包含数值 -6，通过输入 =ABS(INDIRECT(B2))，使用 B2 中的函数间接引用单元格。结果是单元格 B2 中给出的单元格引用的绝对值，即等于 6。

## LOOKUP

Returns the contents of a cell either from a one-row or one-column range. 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 ascending, otherwise the search will not return any usable results.

如果 LOOKUP 找不到搜索条件，将与小于或等于搜索条件的搜索矢量中的最大值匹配。

查找支持正则表达式。例如，您可以输入 "all.*" 来查找起始部分为 "all" 且后跟任意字符的内容首次出现的位置。如果您想要查找一个同时也是正则表达式的文本，则您必须在每个字符前面加上一个 \ 字符。您能够在 LibreOffice - 首选项工具 - 选项
- LibreOffice Calc - 计算中切换正则表达式自动求值功能的打开和关闭状态。

### 语法

LOOKUP(SearchCriterion; SearchVector; ResultVector)

SearchCriterion 是要查找的数值；直接输入或作为引用输入。

SearchVector 是要查找的单行或单列区域。

ResultVector 是另一个单行或单列区域，用于存放函数的结果。结果是结果向量单元格中的与在搜索向量中找到的向量具有相同的索引。

处理空白单元格

### 示例

=LOOKUP(A1;D1:D100;F1:F100) 根据单元格 A1 中输入的数值，在区域 D1:D100 查找相应的单元格。如果找到匹配的单元格，则确定其索引。例如，如果找到的是该区域中第十二个单元格，则将第十二个单元格的内容作为函数值返回到结果向量中。

## MATCH

返回与指定值匹配的项在矩阵中的相对位置。此函数以数字形式返回找到的数值在 lookup_array 中的位置。

### 语法

MATCH(SearchCriterion; LookupArray; Type)

SearchCriterion 是在单行或单列数组中要查找的数值。

LookupArray 是查找的引用。查找数组可以是单行或单列，或者是单行或单列的一部分。

Type可取值为 1, 0, 或 -1。如果 Type = 1 或未设置这个可选参数，则认为查找矩阵的第一列按升序排列。如果 Type = -1，则认为列按降序排列。这与 Microsoft Excel 中相同的函数一致。

If Type = 0, only exact matches are found. If the search criterion is found more than once, the function returns the index of the first matching value. Only if Type = 0 can you search for regular expressions (if enabled in calculation options) or wildcards (if enabled in calculation options).

如果 Type = 1 或者 未指定第三个参数，将返回最后一个小于或等于查找条件的数值。即使查找的数组未排序也同样适用。对于 Type = -1，将返回第一个大于或等于查找条件的数值。

查找支持正则表达式。例如，您可以输入 "all.*" 来查找起始部分为 "all" 且后跟任意字符的内容首次出现的位置。如果您想要查找一个同时也是正则表达式的文本，则您必须在每个字符前面加上一个 \ 字符。您能够在 LibreOffice - 首选项工具 - 选项
- LibreOffice Calc - 计算中切换正则表达式自动求值功能的打开和关闭状态。

### 示例

=MATCH(200;D1:D100) 在按列 D 排序的 D1:D100 区域中查找数值 200。一旦找到这个数值，就会返回该数值所在的行号。如果在搜寻该列的过程中发现了一个更大的数值，将返回它前一行的编号。

## OFFSET

返回从指定引用点偏移特定行数及列数的单元格值。

### 语法

OFFSET(Reference; Rows; Columns; Height; Width)

Reference 是函数查找新引用点的位置。

Rows 是单元格向上（负数）或向下移动的行数。

Rows 是单元格向上（负数）或向下移动的行数。

Height （可选择的）是从新引用位置开始的区域的垂直高度。

Width （可选择的）是从新引用位置开始的区域的水平宽度。

参数 Rows 和 Columns 不能为零或者以负数表示的行或列。

参数 Height 和 Width 不能为零或者以负数表示的行或列。

In the LibreOffice 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.

### 示例

=OFFSET(A1;2;2) 返回单元格 C3 的值（A1 向下移动两行两列）。如果 C3 包含数值 100，此函数返回 100。

=OFFSET(B2:C3;1;1) 返回从 B2:C3 向下移动一行、向右移动一列后的引用区域 (C3:D4)。

=OFFSET(B2:C3;-1;-1) 返回从 B2:C3 向上移动一行、向左移动一列后的引用区域 (A1:B2)。

=OFFSET(B2:C3;0;0;3;4) 返回从 B2:C3 开始，大小为 3 行 4 列 的引用区域 (B2:E4)。

=OFFSET(B2:C3;1;0;3;4) 返回从 B2:C3 向下偏移一行，大小为 3 行 4 列 的引用区域 (B2:E4)。

=SUM(OFFSET(A1;2;2;5;6)) 确定以单元格 C3 为出发点，共包含五行六列的单元格区域，即单元格区域 C3:H7。

If the width or height is included, the OFFSET function returns a range and thus must be entered as an array formula. If both the width and height are missing, a cell reference is returned.

## ROW

返回单元格引用的行号。如果引用的是单元格，函数返回单元格的行号。如果引用的是单元格范围，将在一个单列矩阵 中返回相应的行号（如果公式是作为矩阵公式输入）。如果 ROW 函数引用的是一个单元格范围，且函数不是作为矩阵公式输入的，则只返回范围中第一个单元格的行号。

### 语法

ROW(Reference)

reference 是指一个单元格、一个区域或一个区域的名称。

如果您没有指定引用，将找到输入公式的单元格的行号。LibreOffice Calc 自动在当前单元格中设置引用。

### 示例

=ROW(B3) 返回 3，因为引用表示表格中的第三行。

{=ROW(D5:D8)} 返回单列数组 (5, 6, 7, 8)，因为指定的引用包含行 5 至 8。

=ROW(D5:D8) 返回 5，因为函数 ROW 未作为数组公式使用，所以只返回引用的第一行的行号。

{=ROW(A1:E1)} 和 =ROW(A1:E1) 都返回 1，因为引用仅包含在表格中作为第一列的第一行。（由于单行区域只有一个行号，所以是否作为数组公式使用对结果没有影响。）

如果在行 3 处输入此公式，则 =ROW() 返回 3。

如果 "Rabbit" 是命名的区域 (C1:D3)，则{=ROW(Rabbit)} 返回单列数组 (1, 2, 3)。

## ROWS

返回引用或数组中的行数。

### 语法

ROWS(Array)

Array 是一个已确定总行数的引用或者命名区域。

### 示例

=Rows(B5) 返回 1，因为一个单元格仅包含一行。

=ROWS(A10:B12) 返回 3。

如果 "Rabbit" 是命名的区域 (C1:D3)，则 =ROWS(Rabbit) 返回 3。

## SHEET

返回引用的工作表号或代表工作表名称的字符串。如果不输入任何参数，返回的将是包含公式的电子表格的工作表号。

### 语法

SHEET(Reference)

Reference 是一个可选参数，是对单元格、区域或工作表名称字符串的引用。

### 示例

如果工作表 Sheet2 是电子表格文档的第二个工作表，则 =SHEET(Sheet2.A1) 返回 2。

## SHEETS

确定引用中工作表的数目。 如果不输入任何参数，将返回当前文档中的工作表数目。

### 语法

SHEETS(Reference)

Reference 是对工作表或区域的引用，这是一个可选参数。

### 示例

如果工作表依次为 Sheet1、Sheet2 和 Sheet3，则 =SHEETS(Sheet1.A1:Sheet3.G12) 返回 3。

## 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 depending on 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, "red" and "green" have to be defined beforehand.

### 语法

STYLE("Style"; Time; "Style2")

style 是为当前单元格指定的样式名称。样式名称前后必须加上引号。

Time 是一个可选式的以秒为单位的时间参数。如果不填入这个实际参数，单元格样式就不会在某一时间之后发生变化。

Style2 是一个可选的单元格样式名称，在设置的时间之后单元格就会采用这个样式。如果未设置此参数，单元格将采用“默认”样式。

In the LibreOffice 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.

### 示例

=STYLE("Invisible";60;"Default") 定义单元格在重新计算或装入文档 60 秒后为透明格式，然后为该单元格指定默认格式。这两种单元格格式都必须事先定义。

Since STYLE() has a numeric return value of zero, this return value gets appended to a string. This can be avoided using T() as in the following example:

="Text"&T(STYLE("myStyle"))

另请参阅示例 CURRENT()。

## 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 in the same row of the column named by Index. If the Sorted parameter is omitted or set to TRUE or one, it is assumed that the data is sorted in ascending order. In this case, if the exact SearchCriterion is not found, the last value that is smaller than the criterion will be returned. If Sorted is set to FALSE or zero, an exact match must be found, otherwise the error Error: Value Not Available will be the result. Thus with a value of zero the data does not need to be sorted in ascending order.

查找支持正则表达式。例如，您可以输入 "all.*" 来查找起始部分为 "all" 且后跟任意字符的内容首次出现的位置。如果您想要查找一个同时也是正则表达式的文本，则您必须在每个字符前面加上一个 \ 字符。您能够在 LibreOffice - 首选项工具 - 选项
- LibreOffice Calc - 计算中切换正则表达式自动求值功能的打开和关闭状态。

### 语法

=VLOOKUP(SearchCriterion; Array; Index; Sorted)

SearchCriterion 是在数组的第一列中要查找的值。

Array 是至少包括两列的引用。

Index 是数组中的列编号，该数组包含要返回的数值。第一列编号为 1。

Sorted is an optional parameter that indicates whether the first column in the array is sorted in ascending order. Enter the Boolean value FALSE or zero 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.

处理空白单元格

### 示例

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 Sorted parameter is not necessary.

请在 B1 处输入下列公式：

=VLOOKUP(A1;D1:E100;2)

这样一旦您在单元格A1处键入一道菜的号码后，单元格B1处便会显示这道菜的名称(菜的名称在单元格区域 D1:E100 的第2列内)。键入一个在单元格区域 D1:E100 内不存在的号码，单元格B1处显示的便是小于等于此号码的最大值。如果您不希望这种近似匹配，可在公式的可选参数sort order处键入逻辑值FALSE，这样在键入一个单元格区域 D1:E100 内不存在的号码时，函数便会反馈一个错误值。

相关主题

函数清单（根据类别）