Excel 文本处理常用函数

Excel 文本处理常用函数

 

LENLENB

全部显示

全部隐藏

LEN 返回文本字符串中的字符数。

 

LENB 返回文本字符串中用于代表字符的字节数。

 

要点 函数 LEN 面向使用单字节字符集 (SBCS) 的语言,而函数 LENB 面向使用双字节字符集 (DBCS) 的语言。您计算机上的默认语言设置对返回值的影响方式如下:

 

无论默认语言设置如何,函数 LEN 始终将每个字符(不管是单字节还是双字节)按 1 计数。

当启用支持 DBCS 的语言的编辑并将其设置为默认语言时,函数 LENB 会将每个双字节字符按 2 计数,否则,函数 LENB 会将每个字符按 1 计数。

支持 DBCS 的语言包括日语、中文(简体)、中文(繁体)以及朝鲜语。

 

RIGHTRIGHTB

全部显示

全部隐藏

RIGHT 根据所指定的字符数返回文本字符串中最后一个或多个字符。

 

RIGHTB 根据所指定的字节数返回文本字符串中最后一个或多个字符。

 

要点 函数 RIGHT 面向使用单字节字符集 (SBCS) 的语言,而函数 RIGHTB 面向使用双字节字符集 (DBCS) 的语言。您计算机上的默认语言设置对返回值的影响方式如下:

 

无论默认语言设置如何,函数 RIGHT 始终将每个字符(不管是单字节还是双字节)按 1 计数。

当启用支持 DBCS 的语言的编辑并将其设置为默认语言时,函数 RIGHTB 会将每个双字节字符按 2 计数,否则,函数 RIGHTB 会将每个字符按 1 计数。

支持 DBCS 的语言包括日语、中文(简体)、中文(繁体)以及朝鲜语。

 

DATEVALUE

返回 date_text 所表示的日期的序列号。函数 DATEVALUE 的主要功能是将以文本表示的日期转换成一个序列号。

语法

DATEVALUE(date_text)

Date_text  代表以 Microsoft Excel 日期格式表示的日期的文本。例如,"2008-1-30" "30-Jan-08" 就是带引号的文本,它用于代表日期。在使用 Excel for Windows 中的默认日期系统时,date_text 必须表示 1900 1 1 日到 9999 12 31 日之间的一个日期;而在使用 Excel for Macintosh 中的默认日期系统时,date_text 必须表示 1904 1 1 日到 9999 12 31 日之间的一个日期。如果 date_text 超出上述范围,则函数 DATEVALUE 返回错误值 #VALUE!。

如果省略 date_text 中的年份部分,则函数 DATEVALUE 使用计算机系统内部时钟的当前年份。date_text 中的时间信息将被忽略。

注解

Excel 可将日期存储为可用于计算的序列号。默认情况下,1900 1 1 日的序列号是 1,而 2008 1 1 日的序列号是 39448,这是因为它距 1900 1 1 日有 39448 天。Excel for the Macintosh 使用另外一个默认日期系统

大部分函数都会自动将日期值转换成序列号。

示例

如果将示例复制到一个空白工作表中,可能会更容易理解该示例。

 

1

2

3

4

5

A

B

公式

说明(结果)

=DATEVALUE("8/22/2008")

使用 1900 日期系统时的文本日期序列号 (39682)

=DATEVALUE("22-AUG-2008")

使用 1900 日期系统时的文本日期序列号 (39682)

=DATEVALUE("2008/02/23")

使用 1900 日期系统时的文本日期序列号 (39501)

=DATEVALUE("5-JUL")

使用 1900 日期系统时的文本日期序列号,此时假定计算机内置时钟设置为 2008 (39634)

 注释    要将数字显示为日期,请选择单元格,然后在工作表选项卡的数字组中,单击数字格式旁边的箭头,单击短日期长日期

 

MIDMIDB

MID 返回文本字符串中从指定位置开始的特定数目的字符,该数目由用户指定。

MIDB 根据您指定的字节数,返回文本字符串中从指定位置开始的特定数目的字符。

要点  函数 MID 面向使用单字节字符集 (SBCS) 的语言,而函数 MIDB 面向使用双字节字符集 (DBCS) 的语言。您计算机上的默认语言设置对返回值的影响方式如下:

无论默认语言设置如何,函数 MID 始终将每个字符(不管是单字节还是双字节)按 1 计数。

当启用支持 DBCS 的语言的编辑并将其设置为默认语言时,函数 MIDB 会将每个双字节字符按 2 计数,否则,函数 MIDB 会将每个字符按 1 计数。

支持 DBCS 的语言包括日语、中文(简体)、中文(繁体)以及朝鲜语。

有关详细信息,请参阅下列帮助主题:

启用特定语言的 Windows XP 支持(东亚、东南亚、印度尼西亚和从右向左书写语言)

Microsoft Office 中启用以其他语言输入文本

语法

MID(text,start_num,num_chars)

MIDB(text,start_num,num_bytes)

Text   是包含要提取字符的文本字符串。

Start_num   是文本中要提取的第一个字符的位置。文本中第一个字符的 start_num 1,以此类推。

Num_chars   指定希望 MID 从文本中返回字符的个数。

Num_bytes   指定希望 MIDB 从文本中返回字符的个数(按字节)。

注解

如果 start_num 大于文本长度,则 MID 返回空文本 ("")

如果 start_num 小于文本长度,但 start_num 加上 num_chars 超过了文本的长度,则 MID 只返回至多直到文本末尾的字符。

如果 start_num 小于 1,则 MID 返回错误值 #VALUE!

如果 num_chars 是负数,则 MID 返回错误值 #VALUE!

如果 num_bytes 是负数,则 MIDB 返回错误值 #VALUE!

示例 1MID

如果将示例复制到一个空白工作表中,可能会更容易理解该示例。

 

1

2

A

数据

Fluid Flow

公式

说明(结果)

=MID(A2,1,5)

上面字符串中的 5 个字符,从第一个字符开始 (Fluid)

=MID(A2,7,20)

上面字符串中的 20 个字符,从第七个字符开始 (Flow)

=MID(A2,20,5)

因为要提取的第一个字符的位置大于字符串的长度,所以返回空文本 ()

示例 2MIDB(将您的计算机设置为支持 DBCS 的一种默认语言)

在下面的示例中:

MIDB 返回Tokyo to Shibuya,因为每个字符按 2 计数;第二个参数指定第四个字节处的一个起点,即第二个字符,第三个参数指定两个字节的长度,即一个字符。

MID 返回Tokyo to ShibuyaTokyo to Shibuya,因为每个字符按 1 计数;第二个参数指定第四个字符处的一个起点,第三个参数指定 2 个字符的长度。无论计算机的默认语言如何设置,MID 都返回Tokyo to ShibuyaTokyo to Shibuya

=MIDB(" Tokyo to ShibuyaTokyo to ShibuyaTokyo to ShibuyaTokyo to ShibuyaTokyo to ShibuyaTokyo to Shibuya",4,2) 等于Tokyo to Shibuya

=MID(" Tokyo to ShibuyaTokyo to ShibuyaTokyo to ShibuyaTokyo to ShibuyaTokyo to ShibuyaTokyo to Shibuya",4,2) 等于Tokyo to ShibuyaTokyo to Shibuya

IF

根据对指定的条件计算结果为 TRUE FALSE,返回不同的结果。

可以使用 IF 对数值和公式执行条件检测。

语法

IF(logical_test,value_if_true,value_if_false)

Logical_test   表示计算结果为 TRUE FALSE 的任意值或表达式。例如,A10=100 就是一个逻辑表达式;如果单元格 A10 中的值等于 100,表达式的计算结果为 TRUE;否则为 FALSE。此参数可使用任何比较运算符

Value_if_true   logical_test TRUE 时返回的值。例如,如果此参数是文本字符串预算内,而且 logical_test 参数的计算结果为 TRUE,则 IF 函数显示文本预算内。如果 logical_test TRUE value_if_true 为空,则此参数返回 0(零)。若要显示单词 TRUE,请为此参数使用逻辑值 TRUEValue_if_true 可以是其他公式。

Value_if_false   logical_test FALSE 时返回的值。例如,如果此参数是文本字符串超出预算 logical_test 参数的计算结果为 FALSE,则 IF 函数显示文本超出预算。如果 logical_test FALSE value_if_false 被省略(即 value_if_true 后没有逗号),则会返回逻辑值 FALSE。如果 logical_test FALSE value_if_false 为空(即 value_if_true 后有逗号并紧跟着右括号),则会返回值 0(零)。Value_if_false 可以是其他公式。

注解

最多可以使用 64 IF 函数作为 value_if_true value_if_false 参数进行嵌套以构造更详尽的测试。(示例 3 是嵌套 IF 函数的一个例子。)此外,若要检测多个条件,请考虑使用 LOOKUPVLOOKUP HLOOKUP 函数。(示例 4 LOOKUP 函数的一个例子。)

在计算参数 value_if_true value_if_false 时,IF 会返回相应语句执行后的返回值。

如果函数 IF 的参数包含数组 (数组:用于建立可生成多个结果或可对在行和列中排列的一组参数进行运算的单个公式。数组区域共用一个公式;数组常量是用作参数的一组常量。),则在执行 IF 语句时,数组中的每一个元素都将计算。

Microsoft Excel 还提供了其他一些函数,它们可根据条件来分析数据。例如,如果要计算某单元格区域内某个文本字符串或数字出现的次数,则可使用 COUNTIF COUNTIFS 电子表格函数。若要计算基于某区域内一个文本字符串或一个数值的总和,可使用 SUMIF SUMIFS 工作表函数。

示例 1

 

1

2

A

数据

50

公式

说明(结果)

=IF(A2<=100,"预算内","超出预算")

如果上面的数字小于等于 100,则公式将显示“Within budget”。否则,公式显示“Over budget”(Within budget)

=IF(A2=100,SUM(B5:B15),"")

如果上面数字为 100,则计算单元格区域 B5:B15,否则返回空文本 ("")

示例 2

A

B

实际费用

预期费用

1500

900

500

900

500

925

公式

说明(结果)

=IF(A2>B2,"超出预算","预算内")

检查第一行是否超出预算 (Over Budget)

=IF(A3>B3,"超出预算","预算内")

检查第二行是否超出预算 (OK)

示例 3

A

成绩

45

90

78

公式

说明(结果)

=IF(A2>89,"A",IF(A2>79,"B", IF(A2>69,"C",IF(A2>59,"D","F"))))

给第一个成绩指定一个字母等级 (F)

=IF(A3>89,"A",IF(A3>79,"B", IF(A3>69,"C",IF(A3>59,"D","F"))))

给第二个成绩指定一个字母等级 (A)

=IF(A4>89,"A",IF(A4>79,"B", IF(A4>69,"C",IF(A4>59,"D","F"))))

给第三个成绩指定一个字母等级 (C)

在上例中,第二个 IF 语句同时也是第一个 IF 语句的参数 value_if_false。同样,第三个 IF 语句是第二个 IF 语句的参数 value_if_false。例如,如果第一个 logical_test (Average > 89) TRUE,则返回“A”;如果第一个 logical_test FALSE,则计算第二个 IF 语句,以此类推。

用下列关键字指定数字的字母等级。

如果成绩是

则返回

大于 89

A

80 89

B

70 79

C

60 69

D

低于 60

F

 

posted on 2010-10-14 13:29  Leon_He  阅读(5312)  评论(0编辑  收藏  举报

导航