08信息函数
08x01 CELL 函数
CELL 函数返回有关单元格的格式、位置或内容的信息。
语法
CELL(info_type, [reference])
参数 | 说明 |
---|---|
info_type 必需 | 一个文本值,指定要返回的单元格信息的类型。 下面的列表显示了 Info_type 参数的可能值及相应的结果。 |
reference 可选 | 需要其相关信息的单元格。 如果省略,则为更改的最后一个单元格返回 info_type 参数中指定的信息。 如果参数 reference 是某一单元格区域,则函数 CELL 将只返回该区域左上角的单元格的信息。 |
info_type 值
下表介绍了可用于 info_type 参数的文本值。 必须在单元格函数中输入引号("")。
info_type | 返回结果 |
---|---|
“address” | 引用中第一个单元格的引用地址,文本类型。 |
“col” | 引用中单元格的列标。 |
“color” | 如果单元格中的负值以不同颜色显示,则为值 1;否则,返回 0(零)。注意: 此值在 Excel 网页版 、Excel Mobile 和 Excel Starter 中不受支持。 |
“contents” | 引用中左上角单元格的值:不是公式。 |
“filename” | 包含引用的文件名(包括全部路径),文本类型。 如果包含目标引用的工作表尚未保存,则返回空文本 ("")。注意: 此值在 Excel 网页版 、Excel Mobile 和 Excel Starter 中不受支持。 |
“format” | 与单元格的数字格式相对应的文本值。 下表显示各种格式的文本值。 如果单元格为负值设置颜色,则返回文本值末尾带 “-”。 如果单元格的格式为正值或所有值的加括号,则在返回文本值的末尾带 “()”。注意: 此值在 Excel 网页版 、Excel Mobile 和 Excel Starter 中不受支持。下表描述了部分format对应的返回值。 |
“parentheses” | 如果单元格中为正值或所有单元格均加括号,则为值 1;否则返回 0。注意: 此值在 Excel 网页版 、Excel Mobile 和 Excel Starter 中不受支持。 |
“prefix” | 与单元格中的“前置标签”相对应的文本值。 如果单元格文本左对齐,则返回单引号 (’);如果单元格文本右对齐,则返回双引号 (");如果单元格文本居中,则返回插入字符 (^);如果单元格文本两端对齐,则返回反斜线 ();如果是其他情况,则返回空文本 ("")。注意: 此值在 Excel 网页版 、Excel Mobile 和 Excel Starter 中不受支持。 |
“protect” | 如果单元格没有锁定,则为值 0;如果单元格锁定,则返回 1。注意: 此值在 Excel 网页版 、Excel Mobile 和 Excel Starter 中不受支持。 |
“row” | 引用中单元格的行号。 |
“type” | 与单元格中的数据类型相对应的文本值。 如果单元格为空,则返回 “b”,如果单元格包含文本常量,则返回 “l”; 如果单元格包含任何其他内容,则返回 “v” 值。 |
“width” | 返回包含两个项目的数组。数组中的第1项是单元格的列宽,舍入为整数。 列宽以默认字号的一个字符的宽度为单位。数组中的第2项是布尔值,如果列宽为默认值,则值为 TRUE; 如果用户明确设置了宽度,则值为 FALSE。注意: 此值在 Excel 网页版 、Excel Mobile 和 Excel Starter 中不受支持。 |
下面的列表描述了当参数 Info_type 为“format”,以及参数 reference 为用内置数字格式设置的单元格时,函数 CELL 返回的文本值。
如果 Excel 的格式为 | CELL 函数返回值 |
---|---|
常规 | “G” |
0 | “F0” |
#,##0 | “,0” |
0.00 | “F2” |
#,##0.00 | “,2” |
$#,##0_);($#,##0) | “C0” |
$#,##0_);[Red]($#,##0) | “C0-” |
$#,##0.00_);($#,##0.00) | “C2” |
$#,##0.00_);[Red]($#,##0.00) | “C2-” |
0% | “P0” |
0.00% | “P2” |
0.00E+00 | “S2” |
# ?/? 或 # ??/?? | “G” |
yy-m-d 或 yy-m-d h:mm 或 dd-mm-yy | “D4” |
d-mmm-yy 或 dd-mmm-yy | “D1” |
d-mmm 或 dd-mmm | “D2” |
mmm-yy | “D3” |
mm/dd | “D5” |
h:mm AM/PM | “D7” |
h:mm:ss AM/PM | “D6” |
h:mm | “D9” |
h:mm:ss | “D8” |
注意:
- 使用单元格的公式具有特定于语言的参数值,如果使用不同语言版本的 Excel 进行计算,则会返回错误。
- 如果 CELL 函数中的 info_type 参数为 “format”,并且稍后对引用的单元格应用了不同的格式,则必须重新计算工作表(按F9)以更新 CELL 函数的结果。
例子:
数据 | 公式 | 结果 |
---|---|---|
567 | =CELL(“address”,A2) | $A$2 |
列数 | =CELL(“col”,A3) | 1 |
-56 | =CELL(“color”,A4) | 0 |
内容 | =CELL(“contents”,A5) | 内容 |
任意内容 | =CELL(“filename”,A6) | D:\xxx[xxx.xlsx]Sheet5 |
0.12 | =CELL(“format”,A7) | P2 |
1562 | =CELL(“parentheses”,A8) | 0 |
居中对齐 | =CELL(“prefix”,A9) | ^ |
单元格是否锁定 | =CELL(“protect”,A10) | 1 |
行数 | =CELL(“row”,A11) | 11 |
文本常量 | =CELL(“type”,A12) | l |
任意内容 | =CELL(“width”,A13) | {23,FALSE} |
08x02 ERROR.TYPE 函数
返回对应于 Microsoft Excel 中的错误值之一的数字或返回“#N/A”错误(如果不存在错误)。可以使用 IF 函数中的 ERROR.TYPE 测试错误值并返回一个易于识别的文本字符串(例如消息)而非系统默认的错误值。
语法
ERROR.TYPE(error_val)
参数 | 说明 |
---|---|
Error_val 必需 | 要查找其标识号的错误值。 尽管 error_val 可作为实际的错误值,但它通常是对包含要测试的公式的单元格的引用。 |
Error_val参数值与ERROR.TYPE函数返回值对应关系表如下:
If error_val is | ERROR.TYPE returns |
---|---|
#NULL! | 1 |
#DIV/0! | 2 |
#VALUE! | 3 |
#REF! | 4 |
#NAME? | 5 |
#NUM! | 6 |
#N/A | 7 |
#GETTING_DATA | 8 |
Anything else | #N/A |
例子:
Data | ||
---|---|---|
#NULL! | ||
#DIV/0! | ||
Formula | Description | Result |
=ERROR.TYPE(A2) | Number of the #NULL! Error(1). | 1 |
=IF(ERROR.TYPE(A3)< 3,CHOOSE(ERROR.TYPE(A3),“Ranges do not intersect”,“The divisor is zero”)) | Checks cell A3 to see whether the cell contains either the #NULL! error value or the #DIV/0! error value. If it does, then the number for the error value is used in the CHOOSE worksheet function to display one of two messages; otherwise, the #N/A error value is returned. | The divisor is zero |
08x03 INFO 函数
返回有关当前操作环境的信息。
语法
INFO(type_text)
参数 | 说明 |
---|---|
Type_text 必需 | 用于指定要返回的信息类型的文本。 |
Type_text参数值与INFO函数返回类型对应关系表如下:
Type_text | INFO 返回类型 |
---|---|
“directory” | 当前目录或文件夹的路径。 |
“numfile” | 打开的工作簿中活动工作表的数目。 |
“origin” | 以当前滚动位置为基准,返回窗口中可见的左上角单元格的绝对单元格引用,带前缀$A:”的文本。 此前缀值是为了与 Lotus 1-2-3 3.x 版兼容。 返回的实际值取决于当前的引用样式设置。 以 D9 为例,返回值为:A1 引用样式"$A:$D$9";R1C1 引用样式"$A:R9C4"。 |
“osversion” | 当前操作系统的版本号,文本值。其实返回值是根据安装的office版本的,不一定准确,比如64操作系统安装了32位的office,返回的系统版本是32位的,而不是实际的64位。 |
“recalc” | 当前的重新计算模式,返回“自动”或“手动”。 |
“release” | Microsoft Excel 的版本号,文本值。 |
“system” | 操作系统名称:Macintosh =“mac”;Windows =“pcdos”。 |
注意:
- Excel Web App 中不提供 INFO 函数。
- 在旧版本的 Microsoft Excel 中,“memavail”、“memused” 和 “totmem” type_text 值会返回内存信息。 现在不再支持这些 type_text 值,而是返回 #N/A 错误值。
例子:
公式 | 结果 |
---|---|
=INFO(“DIRECTORY”) | C:\Users\username\Documents\ |
=INFO(“NUMFILE”) | 8 |
=INFO(“ORIGIN”) | $A:$A$1 |
=INFO(“OSVERSION”) | Windows (32-bit) NT 6.02,注意此处其实是在64位系统安装了32位的office,此处返回值有误 |
=INFO(“RECALC”) | 自动 |
=INFO(“RELEASE”) | 15.0 |
=INFO(“SYSTEM”) | pcdos |
08x04 IS 函数
这些函数统称为 IS 函数,IS函数作用于单个单元格的引用,此类函数可检验指定值并根据结果返回 TRUE 或 FALSE。 例如,如果参数 value 引用的是空单元格,则 ISBLANK 函数返回逻辑值 TRUE;否则,返回 FALSE。
语法
ISBLANK(value)
ISERR(value)
ISERROR(value)
ISEVEN(value)
ISFORMULA(value)
ISLOGICAL(value)
ISNA(value)
ISNONTEXT(value)
ISNUMBER(value)
ISODD(value)
ISREF(value)
ISTEXT(value)
参数 | 说明 |
---|---|
value 必需 | 指的是要测试的值。 参数 value 可以是空白(空单元格)、错误值、逻辑值、文本、数字、引用值,或者引用要测试的以上任意值的名称。 |
IS类函数的判断逻辑见下表:
函数 | 如果符合以下条件,则返回 TRUE |
---|---|
ISBLANK | 值为空白单元格。 |
ISERR | 值为任意错误值(除去 #N/A)。 |
ISERROR | 值为任意错误值(#N/A、#VALUE!、#REF!、#DIV/0!、#NUM!、#NAME? 或 #NULL!)。 |
ISEVEN | 数字为偶数,零 (0) 被视为偶数。小数将被截尾取整 |
ISFORMULA | 有对包含公式的单元格的引用,引用可以是单元格引用或引用单元格的公式或名称 |
ISLOGICAL | 值为逻辑值。 |
ISNA | 值为错误值 #N/A(值不存在)。 |
ISNONTEXT | 值为不是文本的任意项。 (请注意,此函数在值为空单元格时返回 TRUE)。 |
ISNUMBER | 值为数字。 |
ISODD | 数字为奇数 |
ISREF | 值为引用。 |
ISTEXT | 值为文本。 |
注意:
- IS函数的值参数不会转换。 用双引号括起来的任何数值都将被视为文本。 例如, 在需要数字的大多数其他函数中, 文本值 “19” 将转换为数字19。 但是, 在公式ISNUMBER (“19”)中, “19” 不会从文本值转换为数字值, ISNUMBER函数将返回 FALSE。
例子1:
Formula | Description | Result |
---|---|---|
=ISLOGICAL(TRUE) | Checks whether TRUE is a logical value | TRUE |
=ISLOGICAL(“TRUE”) | Checks whether “TRUE” is a logical value | FALSE |
=ISNUMBER(4) | Checks whether 4 is a number | TRUE |
=ISREF(G8) | Checks whether G8 is a valid reference | TRUE |
=ISREF(XYZ1) | Checks whether XYZ1 is a valid reference | FALSE |
例子2:
Data | ||
---|---|---|
Gold | ||
Region1 | ||
#REF! | ||
330.92 | ||
#N/A | ||
Formula | Description | Result |
=ISBLANK(A2) | Checks whether cell A2 is blank. | FALSE |
=ISERROR(A4) | Checks whether the value in cell A4, #REF!, is an error. | TRUE |
=ISNA(A4) | Checks whether the value in cell A4, #REF!, is the #N/A error. | FALSE |
=ISNA(A6) | Checks whether the value in cell A6, #N/A, is the #N/A error. | TRUE |
=ISERR(A6) | Checks whether the value in cell A6, #N/A, is an error. | FALSE |
=ISNUMBER(A5) | Checks whether the value in cell A5, 330.92, is a number. | TRUE |
=ISTEXT(A3) | Checks whether the value in cell A3, Region1, is text. | TRUE |
08x05 N 函数
返回转化为数值后的值。
语法
N(value)
参数 | 说明 |
---|---|
value 必需 | 要转换的值。 N 转换下表中列出的值。 |
If value is or refers to | N returns |
---|---|
A number | That number |
A date, in one of the built-in date formats available in Microsoft Excel | The serial number of that date |
TRUE | 1 |
FALSE | 0 |
An error value, such as #DIV/0! | The error value |
Anything else | 0 |
注意:
- 通常不需要在公式中使用 N 函数,因为 Excel 可以根据需要自动转换值。 提供此函数是为了与其他电子表格程序兼容。
例子:
数据 | ||
---|---|---|
7 | ||
EVEN | ||
TRUE | ||
2011-4-17 | ||
公式 | 说明 | 结果 |
=N(A2) | 因为 A2 包含一个数字,所以返回该数字。 | 7 |
=N(A3) | 因为 A3 包含文本,所以返回 0。 | 0 |
=N(A4) | 因为 A4 是逻辑值 TRUE,所以返回 1。 | 1 |
=N(A5) | 因为 A5 是日期,所以返回该日期的序列号(根据使用的日期系统会有变化)。 | 40650 |
=N(“7”) | 因为 “7” 是文本,所以返回 0。 | 0 |
08x06 NA 函数
返回 #N/A. 的错误值 #N/A 是表示 “没有可用值” 的错误值。 使用 NA 标记空单元格。 通过在缺少信息的单元格中输入 #N/A,可以避免在计算中意外包含空单元格的问题。 (当公式引用包含 #N/A 的单元格时,公式将返回 #N/A 错误值。)
语法
NA( )
NA 函数语法没有参数。
注意:
- 函数名称后面必须跟着空括号。 否则,Microsoft Excel 不会将其识别为函数。
- 您也可以直接在单元格中键入值 #N/A。 提供 NA 函数的目的是为了与其他电子表格程序兼容。
08x07 SHEET 函数
返回引用工作表的工作表编号。
语法
SHEET(value)
参数 | 说明 |
---|---|
value 可选 | Value 表示需要工作表编号的,工作表或引用的名称。 如果省略 value, 则 sheet 返回包含该函数的工作表的编号。 |
注意:
- SHEET 包含所有工作表(显示、隐藏或绝对隐藏)以及所有其他工作表类型(宏、图表或对话框工作表)。
- 如果 Value 参数为无效值,则 SHEET 返回错误值 #REF! 错误值。 例如,=SHEET(Sheet1!#REF) 将返回错误值 #REF! 。
- 如果 Value 参数为无效的工作表名称,则 SHEET 返回错误值 #NA。 例如,=SHEET(“badSheetName”) 将返回错误值 #NA。
- SHEET 在对象模型 (OM) 中不可用,因为对象模型已包含相似功能。
例子:
Formula | Description | Result |
---|---|---|
=SHEET(QSalesByRegion) | Returns the sheet number that contains the defined name QSalesByRegion on Sheet2, and has a scope that makes it available to the entire workbook. | 2 |
=SHEET(Table1) | Returns the sheet number that contains the table named Table1 on Sheet2, and has a scope that makes it available to the entire workbook. | 2 |
=SHEET(Hi_Temps) | Returns the #NAME? error value because the defined name Hi_Temps is limited to the worksheet that contains it, Sheet2. | #NAME? |
=SHEET(“Stuff”) | Returns the sheet number of the worksheet named Stuff. | 3 |
08x08 SHEETS 函数
返回引用中的工作表数。
语法
SHEETS(reference)
参数 | 说明 |
---|---|
reference 可选 | 引用是要了解其包含的工作表数的引用。 如果省略了引用, 则工作表将返回包含该函数的工作簿中的工作表数。 |
注意:
- SHEETS 包含所有工作表(显示、隐藏或绝对隐藏)以及所有其他工作表类型(宏、图表或对话框工作表)。
- 如果 reference 为无效值,则 SHEETS 返回错误值 #REF! 。
- SHEETS 在对象模型 (OM) 中不可用,因为对象模型已包含相似功能。
例子:
公式 | 说明 | 结果 |
---|---|---|
=SHEETS() | 因为未指定任何 Reference 参数,将返回工作簿中工作表的总数 (3)。 | 3 |
=SHEETS(My3DRef) | 返回定义名为 My3DRef 三维引用中的工作表数量,其中包括 Sheet2 和 Sheet3 (2)。 | 2 |
=SHEETS(Sheet1!A1) | 返回引用A1中的工作表数,因为仅涉及Sheet1一个工作表所以返回(1)。 | 1 |
08x09 TYPE 函数
返回数值的类型。 当某一个函数的计算结果取决于特定单元格中数值的类型时,可使用函数 TYPE。
语法
TYPE(value)
参数 | 说明 |
---|---|
Value 必需 | 可以为任意 Microsoft Excel 数值,如数字、文本以及逻辑值等等。 |
Value值与TYPE函数返回值对应关系如下:
如果 value 为 | 函数 TYPE 返回 |
---|---|
数字 | 1 |
文本 | 2 |
逻辑值 | 4 |
错误值 | 16 |
数组 | 64 |
注意:
- 当您使用可接受不同数据类型(例如 ARGUMENT 和 INPUT)的函数时,TYPE 非常有用。 使用 TYPE 了解函数或公式将返回什么类型的数据。
- 不能使用 TYPE 确定单元格是否包含公式。 TYPE 仅确定结果值或显示值的类型。 如果值是对一个包含公式的单元格的引用,则 TYPE 返回公式结果值的类型。
例子:
数据 | ||
---|---|---|
Smith | ||
公式 | 说明 | 结果 |
=TYPE(A2) | 在 A2 中返回数值的类型。 文本类型由 2 表示。 | 2 |
=TYPE("Mr. "&A2) | 返回文本型 "Mr. Smith 的类型。 | 2 |
=TYPE(2+A2) | 返回A7中公式"=(2+A2)"的值的类型,该公式将返回16,#VALUE 的错误消息的类型! 错误消息 #VALUE! 在 C7 中显示。 | 16 |
=(2+A2) | 由公式 =(2+A2) 返回的错误值 | #VALUE! |
=TYPE({1,2;3,4}) | 返回数组常量的类型,即 64。 | 64 |