一、IF 函数
1.1、含义
执行真假值判断,根据逻辑计算的真假值,返回不同结果。可以使用函数 IF 对数值和公式进行条件检测。
1.2、语法
IF(logical_test,value_if_true,value_if_false)
Logical_test 表示计算结果为 TRUE 或 FALSE 的任意值或表达式。
例如,A10==100 就是一个逻辑表达式,如果单元格 A10 中的值等于 100,表达式即为 TRUE ,否则为 FALSE 。本参数可使用任何比较运算符(一个标记或符号,指定表达式内执行的计算的类型。有数学、比较、逻辑和引用运算符等。)。
V alue_if_true logical_test 为 TRUE 时返回的值。
例如,如果本参数为文本字符串“预算内”而且 logical_test 参数值为 TRUE ,则 IF 函数将显示文本“预算内”。如果 logical_test 为 TRUE 而 value_if_true 为空,则本参数返回 0(零)。如果要显示 TRUE ,则请为本参数使用逻辑值 TRUE 。value_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(零)。V ALUE_if_false 也可以是其他公式。
说明
• 函数 IF 可以嵌套七层,用 value_if_false 及 value_if_true 参数可以构造复杂的检测条件。请参阅下面最后一个示例。
• 在计算参数 value_if_true 和 value_if_false 后,函数 IF 返回相应语句执行后的返回值。
• 如果函数 IF 的参数包含数组( 用于建立可生成多个结果或可对在行和列中排列的一组参数进行运算的单个公式。数组区域共用一个公式;数组常量是用作参数的一组常量),则在执行 IF 语句时,数组中的每一个元素都将计算。
• WPS 表格 还提供了其他一些函数,可依据条件来分析数据。例如,如果要计算单元格区域中某个文本字符串或数字出现的次数,则可使用 COUNTIf 工作表函数。如果要根据单元格区域中的某一文本字符串或数字求和,则可使用 SUMIf 工作表函数。请了解关于根据条件计算值。
•如果判断标准有汉字内容,则在汉字前后加上英文状态下的双引号""G2 (例如:IF(G2="成都",400,200))
示例
如果您将示例复制到空白工作表中,可能会更易于理解该示例。
示例一
A
1 数据
2 50
公式 说明(结果)
=IF(A2
“Overbudget ”。(Withinbudget)
=IF(A2=100,SUM(B5:B15),"") 如果上面数字为100,则计算单元格区域B5:B15,否则返回空文本("") 如果上面的数字小于等于100,则公式将显示“Withinbudget ”。否则,公式显示示例二
A B
1 实际费用 预算费用
2 1500 900
3 500 900
4 500 925
公式 说明(结果)
=IF(A2>B2,"OverBudget","OK") 判断第1行是否超出预算(OverBudget)
=IF(A3>B3,"OverBudget","OK") 判断第2行是否超出预算(OK)
示例三
A
1 成绩
2 45
3 90
4 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
二、ASC 函数
2.1用途:
将全角字符转换为半角字符。
2.2语法:
ASC(text)
2.3参数:
Text 待要查找其长度的文本。
2.4说明:
公式将全角字母转化为半角字母,若不包含全角字母则保持不变。
实例:
如果A1=电脑EXCEL,则公式“=ASC(A1)”返回电脑EXCEL 。
vb 代码中,忽然遇到ASC ("8" )了,查询了好半天,才搞明白原来是取数字8的ASCII 码。
三、SEARCH 函数
功能:用来返回指定的字符串在原始字符串中首次出现的位置
格式:SEARCH (find_text,within_text,start_num)
find_text:要查找的文本字符串
within_text:要在哪一个字符串查找
start_num:从within_text的第几个字符开始查找。
注意:在find_text中,可以使用通配符,例如:问号“?”和星号“*”。其中问号“?”代表任何一个字符,而星号“*”可代表任何字符串。如果要查找的字符串就是问号或星号,则必须在这两个符号前加上“~”符号。
四、CONCATENATE 函数
通常可用于出生日期推到,求出年龄。
(一)、含义
在Excel 表格中常用的函数,即将几个文本字符串合并为一个文本字符串。
(二)、语法
CONCATENATE (text1,text2,...)
Text1, text2, ... 为 1 到 30 个将要合并成单个文本项的文本项。这些文本项可以为文本字符串、数字或对单个单元格的引用。
(三)、说明
也可以用 &(和号)运算符代替函数 CONCA TENATE 实现文本项的合并。
(四)、示例
如果您将示例复制到空白工作表中,可能会更易于理解该示例。
项目项
公式 说明(结果)
=CONCATENATE("能够触动",A2," 就是",A3,"",A4," 。") 将上述数据合并成一个语句(能够触动人心就是最完美的音乐。)
【扩展】用&运算符可以代替CONCA TENA TE 函数实现文本项的合并。如公式="张"&"军”的结果为“张军”。
五、EXACT 函数
概述
EXACT 函数是office 办公软件excel 中的文本函数,用于检测两个字符串是否完全相同。EXACT 函数的参数text1和text2分别表示需要比较的文本字符串,也可以是引用单元格中的文本字符串,如果两个参数完全相同,EXACT 函数返回TRUE 值;否则返回FALSE 值 语法:
EXACT(text1,text2)
参数:
Text1 待比较的第一个字符串。
Text2 待比较的第二个字符串。
示例:
EXACT("word","word") 等于 TRUE
EXACT("Word","word") 等于 FALSE
EXACT("w ord","word") 等于 FALSE
六、find 函数
(一)、目录
Find 函数 之Excel
C++中的find 函数
Find 函数 之Excel
[1]
Find 函数用来对原始数据中某个字符串进行定位,以确定其位置。Find 函数进行定位时,总是从指定位置开始,返回找到的第一个匹配字符串的位置,而不管其后是否还有相匹配的字符串。
使用语法
FIND(find_text,within_text,start_num)
Find_text 是要查找的文本。
Within_text 是包含要查找文本的文本。
Start_num 指定开始进行查找的字符。within_text 中的首字符是编号为 1 的字符。如果忽略 start_num,则假设其为 1。
注意:
使用 start_num 可跳过指定数目的字符。例如,假定使用文本字符串“AYF0093.YoungMensApparel ”,如果要查找文本字符串中说明部分的第一个“Y ”的编号,则可将 start_num 设置为 8,这样就不会查找文本的序列号部分。FIND 将从第 8 个字符开始查找,而在下一个字符处即可找到 find_text,于是返回编号 9。FIND 总是从 within_text 的起始处返回字符编号,如果 start_num 大于 1,也会对跳过的字符进行计数。 如果 find_text 是空文本 (),则 FIND 则会返回数值1。
Find_text 中不能包含通配符。
如果 within_text 中没有 find_text,则 FIND 返回错误值 #VALUE! 。 如果 start_num 不大于 0,则 FIND 返回错误值 #VALUE! 。
如果 start_num 大于 within_text 的长度,则 FIND 返回错误值 #VALUE! 。 应用示例:
A2=“广东省东莞市东城区„”,A3=“黑龙江省哈尔滨市„”; 对含有不同地方的数据,利用“Find ”函数,非常简单地确定“省”出现的位置。
详细解释:
公式“=FIND(省,A2) ”中,“省”表示要查找的文本为“省”,(实际使用中,也可以很长的一串字符)。要找查找的对象是A2单元格的内容“广东省东莞市东城区„”,因为没有指定起始位置,所以系统从第一位开始。返回的“3”,表示“省“字在第三位。 而公式“=FIND(省,A3) ”中,“黑龙江省哈尔滨市„”则返回4。
与Find 类似,Search 函数也有相同的功能。它们的区别是,Find 区分大小写,而Search 不分大小写(当被查找的文本为英文时)。
另外,在Excel 中,对文本进行处理的很多函数都提供了一个特别用来处理双字节字符(如中文,日文)的函数,一般是在原函数后加“B ”,如FIND, 就有一个FINDB 。LEFT, 相对应的就是LEFTB 等。其实,我们在实际应用中,使用不带“B ”的函数就足够了。如果你想使用带“B ”的函数,则要特别注意,尤其是在组合运用函数时,其中一个函数使用带“B ”的形式,则其它有带“B ”形式的函数,全部都要使用其带“B ”的形式,否则结果极可能是错的。
[2]
C++中的find 函数
泛型算法的 find :
在非string 类型的容器里,可以直接找出所对应的元素.
find 函数需要几个参数:迭代器,下标值,所要找的元素
vector a;
find(a.begin(),a.end(),1);
这句话就表示从a 的头开始一直到尾,找到第一个值为1的元素,返回的是一个指向该元素的迭代器。
find 在string 容器中用途比较广:
find_first_of,find_last_of,find_not_first_of,find_not_last_of等等
在string 类型中,需要的参数也有迭代器,下标和要找的字符串,这里要注意,是字符串,不能查找单个字符。
string a;
find(a.begin(),a.end(),"asd")
这句话就是说,在a 中找到第一个存在子串与"asd" 子串相等的字符串的首地址。返回指向该字符串首地址的迭代器。
find_last_of则是找到最后一个,
find_not_first_of是找出第一个不与“asd ”相等的字符串的首地址
七、PROPER 函数
PROPER 函数是office 办公软件中的一种文本函数,
将文本字符串的首字母及任何非字母字符之后的首字母转换成大写。将其余的字母转换成小写。
语法结构为:PROPER(text)
Text 用引号括起来的文本、返回文本值的公式或是对包含文本的单元格的引用。PROPER 函数只有一个参数,表示转换成大写形式的文本。
八、LEFT 函数
用途:
得到字符串左部指定个数的字符。
语法:
LEFT( string, n )
参数:
string 指定要提取子串的字符串。
n 指定子串长度返回值String 。
说明:
函数执行成功时返回string 字符串左边n 个字符,发生错误时返回空字符串("" )。如果任何参数的值为NULL ,Left()函数返回NULL 。如果n 的值大于string 字符串的长度,那么Left()函数返回整个string 字符串,但并不增加其它字符。
实例:
如果A1=安徽省蚌埠市固镇县杨庙乡,则公式“=LEFT(A1,FIND("省",A1)) ”返回安徽省。
Dim AnyString, MyStr
AnyString = "Hello World" '定义字符串。
MyStr = Left(AnyString, 1) '返回 "H" 。
MyStr = Left(AnyString, 7) '返回 "Hello W"。
MyStr = Left(AnyString, 10) '返回 "Hello Worl"。
九、LOWER 函数
LOWER 函数用来将文本转换为小写。
例如,B3单元格内容为“HR ”,在C3单元格编辑函数公式“=LOWER(B3)”,C3则反馈结果“hr ”。
说明:对单元格中的非字母不进行改变。
十、MID 函数
目录
名称类别
名称
Mid
从字符串中返回指定数目的字符。
类别
字符串函数
原形
MID(text,start_num,num_chars)
参数
text
字符串表达式,从中返回字符。如果 text 包含 Null ,则返回 Null 。 start_num
text 中被提取的字符部分的开始位置。如果 start 超过了 text 中字符的数目,Mid 将返回零长度
字符串 ("")。
num_chars
要返回的字符数。如果省略或num_chars 超过文本的字符数(包括 start 处的字符),将返回字符串中从 start_num到字符串结束的所有字符。
说明
要判断 text 中字符的数目,可使用 Len 函数。
下面的示例利用 Mid 函数返回字符串中从第四个字符开始的六个字符:
Dim MyVar
MyVar = Mid("VB脚本is fun!", 4, 6) 'MyVar 包含 "Script" 。
注意 MidB 函数与包含在字符串中的字节数据一起使用。其参数不是指定字符数,而是字节数。
例:
M=4100
A1=Mid(M,1,1) A1=4
A2=Mid(M,2,2) A2=10
十一、REPT 函数
REPT 函数是office 办公软件excel 中的一种函数,REPT 函数可可以按照定义的次数重复现实文本,相当于复制文本。其语法结构为:REPT (text ,number_times). REPT 函数包括两个参数 其定义分别是:
text :表示需要重复现实文本的次数
number_times表示指定文本重复现实的次数
十二、Replace 函数
百科名片
Replace, 意思是“代替”,标志着它是一个标识替换的函数。返回一个字符串,该字符串中指定的子字符串已被替换成另一子字符串,并且替换发生的次数也是指定的。 描述
[1]返回字符串,其中指定数目的某子字符串被替换为另一个子字符串。 语法
Replace(expression, find, replacewith[, compare[, count[, start]]])
Replace 函数的语法有以下参数:
参数 描述
expression 必选。字符串表达式,包含要替换的子字符串。
find 必选。被搜索的子字符串。
replacewith 必选。用于替换的子字符串。
start 可选。expression 中开始搜索子字符串的位置。如果省略,默认值为 1。
count 可选。执行子字符串替换的数目。如果省略,默认值为 -1,表示进行所有可能的替换。
compare 可选。指示在计算子字符串时使用的比较类型的数值。有关数值,请参阅“设置”部分。
设置
compare 参数可以有以下值:
常数 值 描述
vbBinaryCompare 0 执行二进制比较。
vbTextCompare 1 执行文本比较。
vbDatabaseCompare 2 执行基于数据库(在此数据库中执行比较)中包含的信息的比较。 返回值
Replace 返回以下值:
如果 Replace 返回
expression 为零长度 零长度字符串 ("")。
expression 为 Null 错误。
find 为零长度 expression 的副本。
replacewith 为零长度 expression 的副本,其中删除了所有由 find 参数指定的内容。 start > Len(expression) 零长度字符串。
count 为 0 expression 的副本。
说明
Replace 函数的返回值是经过替换(从由 start 指定的位置开始到 expression 字符串的结尾)后的字符串,而不是原始字符串从开始至结尾的副本。
十三、Right 函数
百科名片
right 函数的功能是从字符串右端取指定个数字符。 语法Right ( string, n ) 。参数string :string 类型,指定要提取子串的字符串n :long 类型,指定子串长度返回值String 。函数执行成功时返回string 字符串右边n 个字符,发生错误时返回空字符串("" )。如果任何参数的值为NULL ,Right()函数返回NULL 。如果n 的值大于string 字符串的长度,那么Right()函数返回整个string 字符串,但并不增加其它字符。
功能
返回 Variant (String),其中包含从字符串右边取出的指定数量的字符。 语法
Right(string, length)
Right 函数的语法具有下面的命名参数:
部分 说明
string 必要参数。字符串表达式,从中最右边的字符将被返回。如果 string 包含 Null ,将返回 Null 。
length 必要参数;为 Variant (Long)。为数值表达式,指出想返回多少字符。如果为 0,返回零长度字符串 ("")。如果大于或等于 string 的字符数,则返回整个字符串。 说明
欲知 string 的字符数,用 Len 函数。
注意 RightB 函数作用于包含在字符串中的字节数据。所以 length 指定的是字节数,而不是指定返回的字符数。
十四、UPPER 函数
UPPER 函数是office 办公软件excel 中的一种函数,该函数与LOWER 函数的功能相反,用于将文本字符串中的所有小写字母转换成大写字母,发其语法结构为:UPPER (text) 。UPPER 函数只有一个参数text ,表示需要换成大写形式的文本。
十五、SUBSTITUTE 函数
百科名片
在文本字符串中用 new_text 替代 old_text。如果需要在某一文本字符串中替换指定的文本,请使用函数 SUBSTITUTE ;如果需要在某一文本字符串中替换指定位置处的任意文本,请使用函数 REPLACE 。
目录
语法
示例
也可以在vb 里面应用
语法
SUBSTITUTE(text,old_text,new_text,instance_num)
Text 为需要替换其中字符的文本,或对含有文本的单元格的引用。
Old_text 为需要替换的旧文本。
New_text 用于替换 old_text 的文本。
Instance_num 为一数值,用来指定以 new_text 替换第几次出现的 old_text。如果指定了 instance_num,则只有满足要求的 old_text 被替换;否则将用 new_text 替换 TEXT 中出现的所有 old_text。
示例
如果您将示例复制到空白工作表中,可能会更易于理解该示例。
A
1 数据
2 销售数据
3 2008年第一季度
4 2011年第一季度
公式 说明(结果)
=SUBSTITUTE(A2,"销售"," 成本") “成本”替代“销售”(成本数据)
=SUBSTITUTE(A3,"一"," 二",1) 用“二”代替示例中第一次出现的“一”(2008年第二季度) =SUBSTITUTE(A4,"1","2",2) 用“2”代替示例中第二次出现的“1”(2012年第一季度) 也可以在vb 里面应用
SUBSTITUTE 是Excel 的单元格公式函数,不是VBA 的内部函数,这两种概念要分清楚哦。虽然有好多函数的名称一样,用法也大同小异,但本质上是不同的哦!下面是SUBSTITUTE 函数在Excel 中的用法:
如果需要在一个文字串中替换指定的文本,可以使用函数SUBSTITUTE 语法:
SUBSTITUTE(text,old_text,new_text,instance_num)
参数:
Text 是需要替换其中字符的文本,或是含有文本的单元格引用;
Old_text是需要替换的旧文本;
New_text用于替换old_text 的文本;
Instance_num 为一数值,用来指定以new_text 替换第几次出现的old_text;如果指定了instance_num,则只有满足要求的old_text 被替换;否则将用new_text 替换Text 中出现的
所有old_text。
实例:
如果A1=学习的革命、A2=电脑,则公式
=SUBSTITUTE(A1," 的革命" ,A2,1)
返回“学习电脑”
要查看Excel 中所有可用函数,可以点Excel 编辑栏左边那个“fx ”图标,里面包含了所有函数的说明。
要查看VBA 中所有可用函数,可以在VB 窗口点帮助菜单,里面的语言参考包含了VBA 的所有函数、语句、属性、方法、对象等等的详细说明。
十六、VALUE 函数
V ALUE 函数是office 办公软件excel 表格中的一种函数,该函数可以将代表数字的文本字符串转换成数字,其语法结构为:V ALUE(text),VALUE 函数只有一个参数text ,表示需要转换成数值格式的文本。text 参数可以用双引号直接引用文本,也可以引用其他单元格中的文本。
如果要输入以0开头的数字,必须将单元格格式设置为文本格式,在数值格式下输入以0开头的数字时,系统会自动去掉开头的0。
十七、WIDECHAR 函数
用途:
将半角字符转换为全角字符。
语法:
WIDECHAR(text)。
参数:
Text 待要查找其长度的文本。
说明:
此函数可以将半角转换为全角显示,可以转换的安符有英文字母、数字、空格、标点符号以及日文,汉字没有全角、半角之分。
实例:
如果A1=电脑EXCEL ,则公式“=WIDECHAR(A1)”返回电脑EXCEL。
含义
所有参数的逻辑值为真时,返回 TRUE ;只要一个参数的逻辑值为假,即返回 FLASE 。 语法
AND(logical1,logical2, ...)
Logical1, logical2, ... 表示待检测的 1 到 30 个条件值,各条件值可为 TRUE 或 FALSE 。
说明
• 参数必须是逻辑值 TRUE 或 FALSE, 或者包含逻辑值的数组( 用于建立可生成多个结果或可对在行和列中排列的一组参数进行运算的单个公式。数组区域共用一个公式;数组常量是用作参数的一组常量)或引用。
• 如果数组或引用参数中包含文本或空白单元格,则这些值将被忽略。
• 如果指定的单元格区域内包括非逻辑值,则 AND 将返回错误值 #VALUE! 。 示例
如果您将示例复制到空白工作表中,可能会更易于理解该示例。
示例一
A B
1 公式 说明(结果)
2 =AND(TRUE,TRUE) 所有参数的逻辑值为真(TRUE)
3 =AND(TRUE,FALSE) 一个参数的逻辑值为假(FALSE)
4 =AND(2+2=4,2+3=5) 所有参数的计算结果为真(TRUE)
示例二
A
1 数据
2 50
3 104
公式 说明(结果)
=AND(1 因为50介于1到100之间(TRUE)
=IF(AND(1 如果上面的第二个数字介于1到100之间,则显示该数字,否则显示信息(数值超出范围)
=IF(AND(1 如果上面的第一个数字介于1到100之间,则显示该数字,否则显示信息
(50)
【含义】
对参数值求反。当要确保一个值不等于某一特定值时,可以使用 NOT 函数。
【语法】
NOT(logical)
Logical 为一个可以计算出 TRUE 或 FALSE 的逻辑值或逻辑表达式。
【说明】
如果逻辑值为 FALSE ,函数 NOT 返回 TRUE ;如果逻辑值为 TRUE ,函数 NOT 返回 FALSE 。
【示例】
如果您将示例复制到空白工作表中,可能会更易于理解该示例。
A B
1 公式 说明(结果)
2 =NOT(FALSE) 对FALSE 求反(TRUE)
3 =NOT(1+1=2) 对逻辑值为TRUE 的公式求反(FALSE)
二十、OR 函数
含义
在其参数组中,任何一个参数逻辑值为 TRUE ,即返回 TRUE ;所有参数的逻辑值为 FALSE ,才返回 FALSE 。
语法
OR(logical1,logical2,...)
Logical1,logical2,... 为需要进行检验的 1 到 30 个条件表达式。
说明
• 参数必须能计算为逻辑值,如 TRUE 或 FALSE ,或者为包含逻辑值的数组( 用于建立可生成多个结果或可对在行和列中排列的一组参数进行运算的单个公式。数组区域共用一个公式;数组常量是用作参数的一组常量)或引用。
• 如果数组或引用参数中包含文本或空白单元格,则这些值将被忽略。 • 如果指定的区域中不包含逻辑值,函数 OR 返回错误值 #VALUE! 。
•可以使用 OR 数组公式来检验数组中是否包含特定的数值。若要输入数组公式,请按 Ctrl+Shift+Enter。
示例
如果您将示例复制到空白工作表中,可能会更易于理解该示例。
A B
1 公式 说明(结果)
2 =OR(TRUE) 参数为TRUE(TRUE)
3 =OR(1+1=1,2+2=5) 所有参数的逻辑值为FALSE(FALSE)
4 =OR(TRUE,FALSE,TRUE) 至少一个参数为TRUE(TRUE)
二十一、COUNT 函数
功能
1. 在Excel 办公软件中计算参数列表中的数字项的个数。
2. 在数据库(sql server或者access )中可以用来统计符合条件的数据条数。 语法
EXCEL: COUNT(value1,value2, ...)
SQL: select count(*) from dmp
参数
V alue1, value2, ... 是包含或引用各种类型数据的参数(1~30个),但只有数字类型的数据才被计数。
说明
函数COUNT 在计数时,将把数字、空值、逻辑值、日期或以文字代表的数计算进去;但是错误值或其他无法转化成数字的文字则被忽略。
如果参数是一个数组或引用,那么只统计数组或引用中的数字;数组中或引用的空单元格、逻辑值、文字或错误值都将忽略。如果要统计逻辑值、文字或错误值,请使用函数COUNTA (COUNTIF 按EXCEL 的说明也行,但常出毛病)。
示例
(一 )
1、我要是写成=COUNT(B1,D1),那就是计算机B1和D1两个单元格中有几个数字(不包括C1单元格),
2、但是如果我写成=COUNT(B1:D1),注意,中间用冒号了,那就是计算机从B1单元格到D1单元格中数字的个数了,(这就包括数字单元格了)
3、再有,我写成=COUNT("B1","D1","123","hello"),那结果就是0, 因为里面没有一个数字,B1和D1因为加了引号,所以是字符了,不是单元格。
4、如果A1为1,A5为3,A7为2,其他均为空,则:
COUNT(A1:A7) 等于 3 备注:计算出A1到A7中,数字的个数
COUNT(A4:A7) 等于 2 备注:计算出A4到A7中,数字的个数
COUNT(A1:A7, 2) 等于 4 备注:计算A1到A7单元格和数字2一起,一共是多少个数字(A1到A7中有3个,加上数字2,一共4个)
(二)
在数据库(sql server),它的格式为:count (),括号里表示要统计的对象。
如果括号内是用星号(数字键8上面那个),就表示统计所有的内容。如果是个具体的某一行或列的内容,则表示该行或者列的内容。(例:count (学生),则表示统计所有学生的个数)。
二十二、MAX 函数
作用:返回一个最大数值
数学等价
max(x,y)=0.5*(x+y+|x-y|);
在概率论中多有使用,如X 、Y 独立同分布,X~N(0,1),求期望E(max(x,y)). 语法
MAX(number1,number2,...)
参数
Number1,number2,... 为需要找出最大数值的 1 到 30 个数值。
说明
可以将参数指定为数字、空白单元格、逻辑值或数字的文本表达式。如果参数为错误值或不能转换成数字的文本,将产生错误。如果参数为数组或引用,则只有数组或引用中的数字将被计算。数组或引用中的空白单元格、逻辑值或文本将被忽略。如果逻辑值和文本不能忽略,请使用函数 MAXA 来代替。
如果参数不包含数字,函数 MAX 返回 0。
示例
如果 A1:A5 包含数字 10、7、9、27 和 2,则:
MAX(A1:A5) 等于 27
MAX(A1:A5,30) 等于 30
二十三、MIN 函数
返回给定参数表中的最小值。
语法:
MIN(number1,number2, ...)
参数:
Number1, number2,... 是要从中找出最小值的 1 到 30 个数字参数。
说明:
参数可以是数字、空白单元格、逻辑值或表示数值的文字串。如果参数中有错误值或无法转换成数值的文字时,将引起错误。
如果参数是数组或引用,则函数 MIN 仅使用其中的数字、数组或引用中的空白单元格,逻辑值、文字或错误值将忽略。如果逻辑值和文字串不能忽略,请使用 MINA 函数 。 如果参数中不含数字,则函数 MIN 返回 0。
示例:
如果 A1:A5 中依次包含数值 10,7,3,27 和 2,那么
MIN(A1:A5) 等于 2
MIN(A1:A5, 0) 等于 0
二十四、SUMIF 函数
语法
SUMIF(range,criteria,sum_range)
1)range 为用于条件判断的单元格区域。
2)criteria 为确定哪些单元格将被相加求和的条件,其形式可以为数字、表达式或文本。例如,条件可以表示为 32、"32" 、">32" 或 "apples" 。条件还可以使用通配符,如需要求和的条件为第二个数字为2的,可表示为"?2*",从而简化公式设置。
3)sum_range 是需要求和的实际单元格。
说明
只有在区域中相应的单元格符合条件的情况下,sum_range 中的单元格才求和。 如果忽略了 sum_range,则对区域中的单元格求和。
Microsoft Excel 还提供了其他一些函数,它们可根据条件来分析数据。例如,如果要计算单元格区域内某个文本字符串或数字出现的次数,则可使用 COUNTIF 函数。如果要让公式根据某一条件返回两个数值中的某一值(例如,根据指定销售额返回销售红利),则可使用 IF 函数。
补充
SUMIF 函数可对满足某一条件的单元格区域求和,该条件可以是数值、文本或表达式,可以应用在人事、工资和成绩统计中。
仍以上图为例,在工资表中需要分别计算各个科室的工资发放情况。 要计算销售部2001年5月加班费情况。则在F15种输入公式为
=SUMIF($C:$C,"销售部",$F:$F)
其中"$C:$C"为提供逻辑判断依据的单元格区域," 销售部" 为判断条件即只统计$C:$C区域中部门为" 销售部" 的单元格,$F:$F为实际求和的单元格区域。
二十五、INDEX 函数
函数INDEX()有两种形式:数组和引用。数组形式通常返回数值或数值数组;引用形式通常返回引用。
语法:INDEX(array,row_num,column_num)返回数组中指定的单元格或单元格数组的数值。INDEX(reference,row_num,column_num,area_num)返回引用中指定单元格或单元格区域的引用。
参数:Array 为单元格区域或数组常数;Row_num为数组中某行的行序号,函数从该行返回数值。如果省略row_num,则必须有column_num;Column_num是数组中某列的列序号,函数从该列返回数值。如果省略column_num,则必须有row_num。Reference 是对一个或多个单元格区域的引用,如果为引用输入一个不连续的选定区域,必须用括号括起来。Area_num是选择引用中的一个区域,并返回该区域中row_num和column_num的交叉区域。选中或输入的第一个区域序号为1,第二个为2,以此类推。如果省略area_num,则INDEX 函数使用区域1
实例:如果A1=68、A2=96、A3=90,则公式“=INDEX(A1:A3,1,1) ”返回68。
二十六、ROW 函数
含义
返回引用的行号。
语法
ROW(reference)
Reference 为需要得到其行号的单元格或单元格区域。
• 如果省略 reference ,则假定是对函数 ROW 所在单元格的引用。
• 如果 reference 为一个单元格区域,并且函数 ROW 作为垂直数组输入,则函数 ROW 将 reference 的行号以垂直数组的形式返回。
• Reference 不能引用多个区域。
示例
如果您将示例复制到空白工作表中,可能会更易于理解该示例。
示例一:
A B
1 公式 说明(结果)
2 =ROW() 公式所在行的行号(2)
3 =ROW(C10) 引用所在行的行号(10)
示例二:
A B
1 公式 说明(结果)
2 =ROW(D4:E6) 引用中的第一行的行号(4)
【提示】
示例中的公式必须以数组公式的形式输入。将示例复制到空白的工作表后,选择以公式单元格开头的区域 A2:A4。按 F2,再按 Ctrl+Shift+Enter。如果不以数组公式的形式输入公式,则只返回单个结果值 4。
注意:ROW 是容失性函数,当你表格中存在ROW 函数时,以后当你每次打开这个工作表时,即使没有改动过,当你退出时也会提示你是否要保存。
二十七、INDEX 函数
返回表或区域中的值或对值的引用。INDEX 函数有两种形式:数组形式和引用形式。
一、数组形式
返回由行和列编号索引选定的表或数组中的元素值。如果 INDEX 的第一个参数是数组常量,请使用数组形式。
INDEX(array,row_num,column_num)
Array 是一个单元格区域或数组常量。
• 如果数组中只包含一行或一列,则可以不使用相应的 row_num 或 column_num 参数。
• 如果数组中包含多个行和列,但只使用了 row_num 或 column_num,INDEX 将返回数组中整行或整列的数组。
Row_num 用于选择要从中返回值的数组中的行。如果省略 row_num,则需要使用 column_num。
Column_num 用于选择要从中返回值的数组中的列。如果省略 column_num,则需要使用 row_num。
说明
1、如果同时使用了 row_num 和 column_num 参数,INDEX 将返回 row_num 和 column_num 交叉处单元格中的值。
2、如果将 row_num 或 column_num 设置为 0(零),INDEX 将分别返回整列或整行的值数组。要将返回的值用作数组,请在行的水平单元格区域和列的垂直单元格区域以数组公式 (数组公式:数组公式对一组或多组值执行多重计算,并返回一个或多个结果。数组公式括于大括号 ({ }) 中。按 Ctrl+Shift+Enter 可以输入数组公式。)的形式输入 INDEX 函数。要输入数组公式,请按 Ctrl+Shift+Enter。
3、Row_num 和 column_num 必须指向数组中的某个单元格;否则,INDEX 将返回 #REF! 错误值
二、引用形式
返回特定行和列交叉处单元格的引用。如果该引用是由非连续选定区域组成的,则可以选择要用作查找范围的选定区域。
INDEX(reference,row_num,column_num,area_num)
Reference 是对一个或多个单元格区域的引用。
• 如果要对引用输入一个非连续区域,请使用括号将该引用括起来。
• 如果引用中的每个区域都只包含一行或一列,则可以不使用相应的 row_num 或 column_num 参数。例如,对于单行引用,可以使用 INDEX(reference,,column_num)。 Row_num 是要从中返回引用的引用中的行编号。
Column_num 是要从中返回引用的引用中的列编号。
Area_num 用于选择要从中返回 row_num 和 column_num 的交叉点的引用区域。选择或输入的第一个区域的编号是 1,第二个区域的编号是 2,依此类推。如果省略 area_num,则 INDEX 将使用区域 1。
• 例如,如果引用描述的是单元格 (A1:B4,D1:E4,G1:H4),则 area_num 1 便是指区域 A1:B4,area_num 2 指区域 D1:E4,area_num 3 指区域 G1:H4。
说明
• 在 reference 和 area_num 选择了特定区域后,row_num 和 column_num 将选择一
个特定的单元格:row_num 1 是该区域中的第一行,column_num 1 是该区域中的第一列,依此类推。INDEX 返回的引用将是 row_num 和 column_num 的交叉点。
• 如果将 row_num 或 column_num 设置为 0(零),INDEX 将分别返回整列或整行的引用。
• Row_num、column_num 和 area_num 必须指向引用中的某个单元格;否则,INDEX 将返回 #REF! 错误值。如果省略了 row_num 和 column_num,INDEX 将返回由 area_num 指定的引用区域。
• INDEX 函数的结果是一个引用,在用于其他公式时,其解释也是如此。根据使用的公式,INDEX 的返回值可以用作引用或值。例如,公式 CELL("width",INDEX(A1:B2,1,2)) 相当于 CELL("width",B1)。其中,CELL 函数将 INDEX 的返回值用作单元格引用。另一方面,类似于 2*INDEX(A1:B2,1,2) 的公式会将 INDEX 的返回值转换为该单元格(此处为 B1)中的数字。
二十八、LARGE 函数
用途:
返回数据集中的第K 个最大值。
语法:
LARGE(array,k)
参数:
array 为需要找到第 k 个最大值的数组或数字型数据区域。
k 为返回的数据在数组或数据区域里的位置(从大到小) 。
说明:
LARGE 函数计算最大值时忽略逻辑值TRUE 和FALSE 以及文本型数字。 实例:
如果A1=24,A2=5,A3=7,A4=15,A5=0,A6=35,A7=2,A8=5,则公式"=LARGE(A1:A8,3)"返回15,即数组中第3个大的数字是15(A4)。
二十九、ADDRESS 函数
【含义】
按照给定的行号和列标,建立文本类型的单元格地址。
【语法】
ADDRESS(row_num,column_num,abs_num,a1,sheet_text)
Row_num 在单元格引用中使用的行号。
Column_num 在单元格引用中使用的列标。
ABS_num 返回的引用类型
1或省略 绝对引用
2 绝对行号,相对列标
3 相对行号,绝对列标
4 相对引用
A1 用以指定 A1 或 R1C1 引用样式的逻辑值。如果 A1 为 TRUE 或省略,函数 ADDRESS 返回 A1 样式的引用;如果 A1 为 FALSE ,函数 ADDRESS 返回 R1C1 样式的引用。
Sheet_text 为一文本,指定作为外部引用的工作表的名称,如果省略 sheet_text,则不使用任何工作表名。
【示例】
如果将示例复制到空白工作表中,可能会更易于理解该示例。
A B
1 公式 说明(结果)
2 =ADDRESS(2,3) 绝对引用($C$2)
3 =ADDRESS(2,3,2) 绝对行号,相对列标(C$2)
4 =ADDRESS(2,3,2,FALSE) 在R1C1引用样式中的绝对行号,相对列标(R2C[3]) 5 =ADDRESS(2,3,1,FALSE,"[Book1]Sheet1" 对其他工作表的绝对引用([Book1]Sheet1!R2C3)
6 =ADDRESS(2,3,1,FALSE,"ETSHEET") 对其他工作表的绝对引用('ETSHEET'!R2C3)
三十、Choose 函数
编辑本段choose 函数
EXCEL 中choose 函数从参数列表中选择并返回一个值。
编辑本段语法
Choose(index_num, value1, [value2], ...)
编辑本段语法参数
Index_num 必要参数,数值表达式或字段,它的运算结果是一个数值,且界于 1 和254之间的数字。 或者为公式或对包含 1 到 254 之间某个数字的单元格的引用。
如果 index_num 为 1,函数 CHOOSE 返回 value1;如果为 2,函数 CHOOSE 返回 value2,以此类推。
如果 index_num 小于 1 或大于列表中最后一个值的序号,函数 CHOOSE 返回错误值 #VALUE! 。
如果 index_num 为小数,则在使用前将被截尾取整。
V alue1, value2, ... Value1 是必需的,后续值是可选的。这些值参数的个数介于 1 到 254 之间,函数 CHOOSE 基于 index_num 从这些值参数中选择一个数值或一项要执行的操作。参数可以为数字、单元格引用、已定义名称、公式、函数或文本。
编辑本段说明
如果 index_num 为一个数组 ,则在计算函数 CHOOSE 时,将计算每一个值。 函数 CHOOSE 的数值参数不仅可以为单个数值,也可以为区域引用。 例如,下面的公式: =SUM(CHOOSE(2,A1:A10,B1:B10,C1:C10))相当于:
=SUM(B1:B10)然后基于区域 B1:B10 中的数值返回值。
函数 CHOOSE 先被计算,返回引用 B1:B10。然后函数 SUM 用 B1:B10 进行求和计算。即函数 CHOOSE 的结果是函数 SUM 的参数。
三十一、HLOOKUP 函数
展开
HLOOKUP 函数是Excel 等电子表格中的横向查找函数,它与LOOKUP 函数和VLOOKUP 函数属于一类函数,HLOOKUP 是按行查找的,VLOOKUP 是按列查找的。 编辑本段使用说明
语法规则
该函数的语法规则如下:
HLOOKUP(lookup_value,table_array,row_index_num,range_lookup)
参数 简单说明 输入数据类型
lookup_value 要查找的值 数值、引用或文本字符串 table_array 要查找的区域 数据表区域
row_index_num 返回数据在区域的第几行数 正整数
range_lookup 精确匹配 TRUE (或不填) /FALSE
1、Lookup_value参数说明
Lookup_value为需要在数据表第一行中进行查找的数值。Lookup_value 可以为数值、引用或文本字符串。
2、Table_array参数说明
Table_array为需要在其中查找数据的数据表。使用对区域或区域名称的引用。
3、Row_index_num参数说明
Row_index_num为table_array 中待返回的匹配值的行序号。Row_index_num 为 1 时,返回 table_array 第一行的数值,row_index_num 为 2 时,返回 table_array 第二行的数值,以此类推。如果 row_index_num 小于 1,函数 HLOOKUP 返回错误值 #VALUE! ;如果 row_index_num 大于 table_array 的行数,函数 HLOOKUP 返回错误值 #REF!。
4、Range_lookup参数说明
Range_lookup为一逻辑值,指明函数 HLOOKUP 查找时是精确匹配,还是近似匹配。如果为 TRUE 或省略,则返回近似匹配值。也就是说,如果找不到精确匹配值,则返回小于 lookup_value 的最大数值。如果 lookup_value 为 FALSE ,函数 HLOOKUP 将查找精确匹配值,如果找不到,则返回错误值 #N/A。
表格或数值数组 (数组:用于建立可生成多个结果或可对在行和列中排列的一组参数进行运算的单个公式。数组区域共用一个公式;数组常量是用作参数的一组常量。)的首行查找指定的数值,并在表格或数组中指定行的同一列中返回一个数值。当比较值位于数据表的首行,并且要查找下面给定行中的数据时,请使用函数 HLOOKUP 。当比较值位于要查找的数据左边的一列时,请使用函数 VLOOKUP 。 HLOOKUP 中的 H 代表“行”。 语法
HLOOKUP(lookup_value,table_array,row_index_num,range_lookup)
Lookup_value 为需要在数据表第一行中进行查找的数值。Lookup_value 可以为数值、引用或文本字符串。
Table_array 为需要在其中查找数据的数据表。使用对区域或区域名称的引用。
Table_array 的第一行的数值可以为文本、数字或逻辑值。如果 range_lookup 为 TRUE ,则 table_array 的第一行的数值必须按升序排列:...-2、-1、0、1、2、„、A-Z 、FALSE 、TRUE ;否则,函数 HLOOKUP 将不能给出正确的数值。如果 range_lookup 为 FALSE ,
则 table_array 不必进行排序。文本不区分大小写。将数值按升序排列(从左至右)。有关详细信息,请参阅排序数据。 Row_index_num 为 table_array 中待返回的匹配值的行序号。Row_index_num 为 1 时,返回 table_array 第一行的数值,row_index_num 为 2 时,返回 table_array 第二行的数值,以此类推。如果 row_index_num 小于 1,函数 HLOOKUP 返回错误值 #VALUE! ;如果 row_index_num 大于 table_array 的行数,函数 HLOOKUP 返回错误值 #REF!。
Range_lookup 为一逻辑值,指明函数 HLOOKUP 查找时是精确匹配,还是近似匹配。如果为 TRUE 或省略,则返回近似匹配值。也就是说,如果找不到精确匹配值,则返回小于 lookup_value 的最大数值。如果 lookup_value 为 FALSE ,函数 HLOOKUP 将查找精确匹配值,如果找不到,则返回错误值 #N/A。
注解
如果函数 HLOOKUP 找不到 lookup_value,且 range_lookup 为 TRUE ,则使用小于 lookup_value 的最大值。 如果函数 HLOOKUP 小于 table_array 第一行中的最小数值,函数 HLOOKUP 返回错误值 #N/A。 如果 range_lookup 为 FALSE 且 lookup_value 为文本,则可以在 lookup_value 中使用通配符、问号 (?) 和星号 (*)。问号匹配任意单个字符;星号匹配任意字符序列。如果要查找实际的问号或星号,请在该字符前键入波形符 (~)。 示例
如果将示例复制到一个空白工作表中,可能会更容易理解该示例。
如何复制示例
创建一个空白工作簿或工作表。 选择“帮助”主题中的示例。 注释 不要选择行或列标题。从“帮助”中选择示例按 Ctrl+C。 在工作表中,选择单元格 A1,然后按 Ctrl+V。 要在查看结果和查看返回结果的公式之间进行切换,请按 Ctrl+`(重音符),或在“公式”选项卡上的“公式审核”组中,单击“显示公式”按钮。
1234 ABCAxlesBearingsBolts[1**********]公式说明(结果) =HLOOKUP("Axles",A1:C4,2,TRUE)在首行查找 Axles ,并返回同列中第 2 行的值。(4) =HLOOKUP("Bearings",A1:C4,3,FALSE)在首行查找 Bearings ,并返回同列中第 3 行的值。
(7) =HLOOKUP("B",A1:C4,3,TRUE) 在首行查找 B ,并返回同列中第 3 行的值。由于 B 不是精确匹配,因此将使用小于 B 的最大值 Axles 。(5) =HLOOKUP("Bolts",A1:C4,4)在首行查找 Bolts ,并返回同列中第 4 行的值。(11) =HLOOKUP(3,{1,2,3;"a","b","c";"d","e","f"},2,TRUE) 在数组常量的第一行中查找 3,并返回同列中第 2 行的值。(c)
编辑本段使用举例
HLOOKUP 使用示例图1
如图所示,我们要在A1:K6区域中提取100003、100004、100005、100007、100010五人的全年总计销量,并对应的输入到D1:H12中。一个一个的手动查找在数据量大的时候十分繁琐,因此这里使用HLOOKUP 函数演示:
首先在D12单元格输入“=Hlookup(”,此时Excel 就会提示4个参数。
第一个参数,很显然,我们要让100003对应的是D11,这里就输入“ D11, ” ,这 第二个参数,这里输入我们要查找的区域,即“$1:$6,”;
第三个参数,“全年总计”是区域的第六行,所以这里输入“6, ”,输入“5”就会输入第四季度的项目了;
第四个参数,因为我们要精确的查找工号,所以留空即可。
最后补全最后的右括号“) ”,得到公式“=HLOOKUP(100003,$1:$6,6)”,使用填充柄填充其他单元格即可完成查找操作。
三十二、VLOOKUP 函数
简介
纵向查找函数,它与LOOKUP 函数和HLOOKUP 函数属于一类函数,VLOOKUP 是按列查找,最终返回该行所需查询列序所对应的值;HLOOKUP 是按行查找的。 编辑本段使用说明
语法规则
该函数的语法规则如下:
VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)
参数 简单说明 输入数据类型
lookup_value 要查找的值 数值、引用或文本字符串 table_array 要查找的区域 数据表区域
col_index_num 返回数据在区域的第几列数 正整数
range_lookup 精确匹配 TRUE (或不填) /FALSE
1、Lookup_value参数说明
Lookup_value为需要在数据表第一列中进行查找的数值。Lookup_value 可以为数值、引用或文本字符串。
2、Table_array参数说明
3、Table_array为需要在其中查找数据的数据表。使用对区域或区域名称的引用。 col_index_num参数说明
4、col_index_num为table_array 中待返回的匹配值的列序号。col_index_num 为 1 时,返回 table_array 第一列的数值,col_index_num 为 2 时,返回 table_array 第二列的数值,以此类推。如果 col_index_num 小于1,函数 VLOOKUP 返回错误值 #VALUE! ;如果 col_index_num 大于 table_array 的列数,函数 VLOOKUP 返回错误值#REF!。 Range_lookup参数说明
5、Range_lookup为一逻辑值,指明函数 VLOOKUP 查找时是精确匹配,还是近似匹配。如果为true 或省略 ,则返回近似匹配值。也就是说,如果找不到精确匹配值,则返回小于 lookup_value 的最大数值。如果 lookup_value 为 false ,函数 VLOOKUP 将查找精确匹配值,如果找不到,则返回错误值 #N/A。
编辑本段使用举例
vlookup 函数示例
所示,我们要在A2:F12区域中提取100003、100004、100005、100007、100010五人的全年总计销量,并对应的输入到I4:I8中。一个一个的手动查找在数据量大的时候十分繁琐,因此这里使用VLOOKUP 函数演示:
首先在I4单元格输入“=Vlookup(”,此时Excel 就会提示4个参数。
Vlookup 结果演示
第一个参数,很显然,我们要让100003对应的是I4,这里就输入“H4, ” ; 第二个参数,这里输入我们要查找的区域(绝对引用) ,即“$A$2:$F$12,”;
第三个参数,“全年总计”是区域的第六列,所以这里输入“6”,输入“5”就会输入第四季度的项目了;
第四个参数,因为我们要精确的查找工号,所以留空即可。
最后补全最后的右括号“) ”,得到公式“=VLOOKUP(H4,$A$2:$F$12,6,)”,使用填充柄填充其他单元格即可完成查找操作。
VLOOKUP 函数使用注意事项
说到VLOOKUP 函数,相信大家都会使用,而且都使用得很熟练了。不过,有几个细节问题,大家在使用时还是留心一下的好。
一.VLOOKUP 的语法
VLOOKUP 函数的完整语法是这样的:
VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)
1.括号里有四个参数,是必需的。最后一个参数range_lookup是个逻辑值,我们常常输入一个0字,或者False; 其实也可以输入一个1字,或者true 。两者有什么区别呢?前者表示的是完整寻找,找不到就传回错误值#N/A;后者先是找一模一样的,找不到再去找很接近的值,还找不到也只好传回错误值#N/A。这对我们其实也没有什么实际意义,只是满足好奇而已,有兴趣的朋友可以去体验体验。
2.Lookup_value是一个很重要的参数,它可以是数值、文字字符串、或参照地址。我们常常用的是参照地址。用这个参数时,有三点要特别提醒:
A )参照地址的单元格格式类别与去搜寻的单元格格式的类别要一致,否则的话有时明明看到有资料,就是抓不过来。特别是参照地址的值是数字时,最为明显,若搜寻的单元格格式类别为文字,虽然看起来都是123,但是就是抓不出东西来的。
而且格式类别在未输入数据时就要先确定好,如果数据都输入进去了,发现格式不符,已为时已晚,若还想去抓,则需重新输入。
B )第二点提醒的,是使用时一个方便实用的小技巧,相信不少人早就知道了的。我们在使用参照地址时,有时需要将lookup_value的值固定在一个格子内,而又要使用下拉方式(或复制)将函数添加到新的单元格中去,这里就要用到“$”这个符号了,这是一个起固定作用的符号。比如说我始终想以D5格式来抓数据,则可以把D5弄成这样:$D$5,则不论你如何拉、复制,函数始终都会以D5的值来抓数据。
C) 用“&" 连接若干个单元格的内容作为查找的参数。在查找的数据有类似的情况下可以做到事半功倍。
3.Table_array是搜寻的范围,col_index_num是范围内的栏数。Col_index_num 不能小于1,其实等于1也没有什么实际用的。如果出现一个这样的错误的值#REF!,则可能是col_index_num的值超过范围的总字段数。
4. 在使用该函数时,lookup_value的值必须在table_array中处于第一列。
二.VLOOKUP 的错误值处理。
我们都知道,如果找不到数据,函数总会传回一个这样的错误值#N/A,这错误值其实也很有用的。比方说,如果我们想这样来作处理:如果找到的话,就传回相应的值,如果找不到的话,我就自动设定它的值等于0,那函数就可以写成这样:
=if(iserror(vlookup(1,2,3,0)),0,vlookup(1,2,3,0))
这句话的意思是这样的:如果VLOOKUP 函数返回的值是个错误值的话(找不到数据),就等于0,否则,就等于VLOOKUP 函数返回的值(即找到的相应的值)。
这里面又用了两个函数。
第一个是iserror 函数。它的语法是iserror(value),即判断括号内的值是否为错误值,如果是,就等于true ,不是,就等于false 。
第二个是if 函数,这也是一个常用的函数的,后面有机会再跟大家详细讲解。它的语法是if(条件判断式,结果1,结果2) 。如果条件判断式是对的,就执行结果1,否则就执行
结果2。举个例子:=if(D2=””, ”空的”, ”有东西”) ,意思是如D2这个格子里是空的值,就显示文字“空的”,否则,就显示“有东西”。(看起来简单吧?其实编程序,也就是这样子判断来判断去的。)
三.含有VLOOKUP 函数的工作表档案的处理。
一般来说,含有VLOOKUP 函数的工作表,如果又是在别的档案里抓取数据的话,档案往往是比较大的。尤其是当你使用的档案本身就很大的时候,那每次开启和存盘都是很受伤的事情。
有没有办法把文件压缩一下,加快开启和存盘的速度呢。这里提供一个小小的经验。 在工作表里,点击工具──选项──计算,把上面的更新远程参照和储存外部连结的勾去掉,再保存档案,则会加速不少,不信你可以试试。
下面详细的说一下它的原理。
1.含有VLOOKUP 函数的工作表,每次在保存档案时,会同时保存一份其外部连结的档案。这样即使在单独打开这个工作表时,VLOOKUP 函数一样可以抓取到数值。
2.在工作表打开时,微软会提示你,是否要更新远程参照。意思是说,你要不要连接最新的外部档案,好让你的VLOOKUP 函数抓到最新的值。如果你有足够的耐心,不妨试试。
3.了解到这点,我们应该知道,每次单独打开含有VLOOKUP 函数的工作表时,里面抓取外部档案的数值,只是上次我们存盘时保存的值。若要连结最新的值,必须要把外部档案同时打开。
VLOOKUP 函数我所了解的,也只是这些,大家有什么好的经验或有什么疑问,欢迎大家提出,一起探讨。
含义
返回向量或数组中的数值。函数 LOOKUP 有两种语法形式:向量和数组。函数 LOOKUP 的向量形式是在单行区域或单列区域(向量)中查找数值,然后返回第二个单行区域或单列区域中相同位置的数值;函数 LOOKUP 的数组形式在数组的第一行或第一列查找指定的数值,然后返回数组的最后一行或最后一列中相同位置的数值。 函数 LOOKUP 有两种语法形式:向量和数组。
编辑本段提示
LOOKUP_vector 的数值必须按升序排序:... 、-2、-1、0、1、2、... 、A-Z 、FALSE 、TRUE ;否则,函数 LOOKUP 不能返回正确的结果。文本不区分大小写。
编辑本段使用方法
(1)向量形式:公式为 = LOOKUP(lookup_value,lookup_vector,result_vector)
式中 lookup_value—函数LOOKUP 在第一个向量中所要查找的数值,它可以为数字、文本、逻辑值或包含数值的名称或引用;
lookup_vector—只包含一行或一列的区域lookup_vector 的数值可以为文本、数字或逻辑值;
result_vector—只包含一行或一列的区域其大小必须与 lookup_vector 相同。
(2)数组形式:公式为
= LOOKUP(lookup_value,array)
式中 array —包含文本、数字或逻辑值的单元格区域或数组它的值用于与 lookup_value 进行比较。
例如:LOOKUP(5.2,{4.2,5,7,9,10})=5。
注意:lookup_vector的数值必须按升序排列,否则函数LOOKUP 不能返回正确的结果。文本不区分大小写。如果函数LOOKUP 找不到lookup_value,则查找lookup_vector中小于或等于lookup_value的最大数值。如果lookup_value小于lookup_vector中的最小值,函数LOOKUP 返回错误值#N/A。
MATCH 函数
含义:返回指定数值在指定数组区域中的位置
语法:MA TCH(lookup_value, lookup_array, match_type)
lookup_value:需要在数据表(lookup_array)中查找的值。
lookup_array:可能包含有所要查找数值的连续的单元格区域。
match_type:为1时,查找小于或等于lookup_value的最大数值,lookup_array必须按升序排列:
为0时,查找等于lookup_value的第一个数值,lookup_array按任意顺序排列: 为-1时,查找大于或等于lookup_value的最小数值,lookup_array必须按降序排列。 举例:
A B
1 产品 项目个数
2 香蕉 25
3 柑橘 38
4 苹果 40
5 梨子 41
t
公式 叙述 (结果)
=MATCH(39,B2:B5,1) 因为没有完全符合的项目,所以会传回范围 B2:B5 中下一个较小的值 (38)。(2)
=MATCH(41,B2:B5,0) 范围 B2:B5 中 41 的位置。(4)
=MATCH(40,B2:B5,-1) 因为 B2:B5 不是依递减顺序排列,所以会传回错误。(#N/A) match 函数于vlookup 函数配合使用可以对vlookup 函数查找的结果进行容错处理。
三十五、HYPERLINK 函数
含义:
创建一个快捷方式(跳转),用来打开存储在网络服务器、Intranet 或internet 中的文件。 编辑本段二、格式:
其格式为:HYPERLINK(link_location,friendly_name).
其中:HYPERLINK 为函数名
link_location 为链接位置
friendly_name 为显示文本
编辑本段三、实例说明:
首先选定一个单元格,如图选定C2单元格,输入“=HYPERLINK(”则该函数被激活, 然后输入所要链接的位置,如图2 输入:“=HYPERLINK("\\学生存盘\学生存盘\电子班计算机存盘", ”
接下输入在单元格中所要显示的信息,如图输入:=HYPERLINK("\\学生存盘\学生存盘\电子班计算机存盘"," 打开学生存盘") ,则表示当该函数完成后,在C2单元格会显示“打开学生存盘”字样。如图3:
函数完成后的效果, 如图4:
以上操作,插入函数即宣告完成,下面来讲讲其使用。
首先将鼠标放到“打开学存盘”上看看效果, 如图5:
是不是就是出现要链接到的路信息以及单击鼠标可以跟踪链接的信息提示,好接下来用鼠标左击“打开学生存盘”,其效果如图6,系统就会沿着刚才输入的路径打开所要打开的文件。 讲到这里也不知道你会不会成功应用这个函数,要注意的是在这个函数链接路径设置的时候可能会有一点有麻烦,但是别怕,多试两次相信你一定会成功的。
祝你好运!
编辑本段四、常用格式说明
HYPERLINK(link_location,friendly_name)
其中第一个参数Link_location是超级链接的文件的路径和文件名,或要跳转的单元格地址。第二个参数是随意指定的字符串或某一单元格的值,是你希望在超级链接的单元格中显示的内容 。
常用格式有以下几种:
1、 链接到文件夹,点击打开指定的文件夹,如
=HYPERLINK("C:\My Documents","打开我的文档" )
2、 链接到指定的文件,点击打开指定的文件
如= HYPERLINK("C:\My Documents\Doc1.doc","打开Doc1" )
如与当前文件在一目录下,可以用以下公式
= HYPERLINK("Book1.xls"," 打开Book1" )
3、 链接当前工作表的指定位置,点击跳转到当前工作表指定的单元格 如=Hyperlink("#A100","跳到A100")
4、 当前工作薄中其他工作表的指定位置或区域
如= Hyperlink("#sheet2!A100","跳到SHEET2工作表A100")
如区域定义了名称,如定义名称X=sheet2!A10:B15,则以下公式或跳转到X 区域的并选定该区域
= Hyperlink("#X","跳到区域名称X")
等价= Hyperlink("#sheet2!A10:B15","跳到A10:B15") 5、 链接工作薄,并跳转到该工作表的指定位置,使用形式 同目录下的文件 =HYPERLINK("book2.xls#sheet2!a1"," 到BOOK2中Sheet2!A1") 不同目录下 =HYPERLINK("C:\My Documents\XLS\book2.xls#sheet2!a1"," 到BOOK2中Sheet2!A1")
一、IF 函数
1.1、含义
执行真假值判断,根据逻辑计算的真假值,返回不同结果。可以使用函数 IF 对数值和公式进行条件检测。
1.2、语法
IF(logical_test,value_if_true,value_if_false)
Logical_test 表示计算结果为 TRUE 或 FALSE 的任意值或表达式。
例如,A10==100 就是一个逻辑表达式,如果单元格 A10 中的值等于 100,表达式即为 TRUE ,否则为 FALSE 。本参数可使用任何比较运算符(一个标记或符号,指定表达式内执行的计算的类型。有数学、比较、逻辑和引用运算符等。)。
V alue_if_true logical_test 为 TRUE 时返回的值。
例如,如果本参数为文本字符串“预算内”而且 logical_test 参数值为 TRUE ,则 IF 函数将显示文本“预算内”。如果 logical_test 为 TRUE 而 value_if_true 为空,则本参数返回 0(零)。如果要显示 TRUE ,则请为本参数使用逻辑值 TRUE 。value_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(零)。V ALUE_if_false 也可以是其他公式。
说明
• 函数 IF 可以嵌套七层,用 value_if_false 及 value_if_true 参数可以构造复杂的检测条件。请参阅下面最后一个示例。
• 在计算参数 value_if_true 和 value_if_false 后,函数 IF 返回相应语句执行后的返回值。
• 如果函数 IF 的参数包含数组( 用于建立可生成多个结果或可对在行和列中排列的一组参数进行运算的单个公式。数组区域共用一个公式;数组常量是用作参数的一组常量),则在执行 IF 语句时,数组中的每一个元素都将计算。
• WPS 表格 还提供了其他一些函数,可依据条件来分析数据。例如,如果要计算单元格区域中某个文本字符串或数字出现的次数,则可使用 COUNTIf 工作表函数。如果要根据单元格区域中的某一文本字符串或数字求和,则可使用 SUMIf 工作表函数。请了解关于根据条件计算值。
•如果判断标准有汉字内容,则在汉字前后加上英文状态下的双引号""G2 (例如:IF(G2="成都",400,200))
示例
如果您将示例复制到空白工作表中,可能会更易于理解该示例。
示例一
A
1 数据
2 50
公式 说明(结果)
=IF(A2
“Overbudget ”。(Withinbudget)
=IF(A2=100,SUM(B5:B15),"") 如果上面数字为100,则计算单元格区域B5:B15,否则返回空文本("") 如果上面的数字小于等于100,则公式将显示“Withinbudget ”。否则,公式显示示例二
A B
1 实际费用 预算费用
2 1500 900
3 500 900
4 500 925
公式 说明(结果)
=IF(A2>B2,"OverBudget","OK") 判断第1行是否超出预算(OverBudget)
=IF(A3>B3,"OverBudget","OK") 判断第2行是否超出预算(OK)
示例三
A
1 成绩
2 45
3 90
4 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
二、ASC 函数
2.1用途:
将全角字符转换为半角字符。
2.2语法:
ASC(text)
2.3参数:
Text 待要查找其长度的文本。
2.4说明:
公式将全角字母转化为半角字母,若不包含全角字母则保持不变。
实例:
如果A1=电脑EXCEL,则公式“=ASC(A1)”返回电脑EXCEL 。
vb 代码中,忽然遇到ASC ("8" )了,查询了好半天,才搞明白原来是取数字8的ASCII 码。
三、SEARCH 函数
功能:用来返回指定的字符串在原始字符串中首次出现的位置
格式:SEARCH (find_text,within_text,start_num)
find_text:要查找的文本字符串
within_text:要在哪一个字符串查找
start_num:从within_text的第几个字符开始查找。
注意:在find_text中,可以使用通配符,例如:问号“?”和星号“*”。其中问号“?”代表任何一个字符,而星号“*”可代表任何字符串。如果要查找的字符串就是问号或星号,则必须在这两个符号前加上“~”符号。
四、CONCATENATE 函数
通常可用于出生日期推到,求出年龄。
(一)、含义
在Excel 表格中常用的函数,即将几个文本字符串合并为一个文本字符串。
(二)、语法
CONCATENATE (text1,text2,...)
Text1, text2, ... 为 1 到 30 个将要合并成单个文本项的文本项。这些文本项可以为文本字符串、数字或对单个单元格的引用。
(三)、说明
也可以用 &(和号)运算符代替函数 CONCA TENATE 实现文本项的合并。
(四)、示例
如果您将示例复制到空白工作表中,可能会更易于理解该示例。
项目项
公式 说明(结果)
=CONCATENATE("能够触动",A2," 就是",A3,"",A4," 。") 将上述数据合并成一个语句(能够触动人心就是最完美的音乐。)
【扩展】用&运算符可以代替CONCA TENA TE 函数实现文本项的合并。如公式="张"&"军”的结果为“张军”。
五、EXACT 函数
概述
EXACT 函数是office 办公软件excel 中的文本函数,用于检测两个字符串是否完全相同。EXACT 函数的参数text1和text2分别表示需要比较的文本字符串,也可以是引用单元格中的文本字符串,如果两个参数完全相同,EXACT 函数返回TRUE 值;否则返回FALSE 值 语法:
EXACT(text1,text2)
参数:
Text1 待比较的第一个字符串。
Text2 待比较的第二个字符串。
示例:
EXACT("word","word") 等于 TRUE
EXACT("Word","word") 等于 FALSE
EXACT("w ord","word") 等于 FALSE
六、find 函数
(一)、目录
Find 函数 之Excel
C++中的find 函数
Find 函数 之Excel
[1]
Find 函数用来对原始数据中某个字符串进行定位,以确定其位置。Find 函数进行定位时,总是从指定位置开始,返回找到的第一个匹配字符串的位置,而不管其后是否还有相匹配的字符串。
使用语法
FIND(find_text,within_text,start_num)
Find_text 是要查找的文本。
Within_text 是包含要查找文本的文本。
Start_num 指定开始进行查找的字符。within_text 中的首字符是编号为 1 的字符。如果忽略 start_num,则假设其为 1。
注意:
使用 start_num 可跳过指定数目的字符。例如,假定使用文本字符串“AYF0093.YoungMensApparel ”,如果要查找文本字符串中说明部分的第一个“Y ”的编号,则可将 start_num 设置为 8,这样就不会查找文本的序列号部分。FIND 将从第 8 个字符开始查找,而在下一个字符处即可找到 find_text,于是返回编号 9。FIND 总是从 within_text 的起始处返回字符编号,如果 start_num 大于 1,也会对跳过的字符进行计数。 如果 find_text 是空文本 (),则 FIND 则会返回数值1。
Find_text 中不能包含通配符。
如果 within_text 中没有 find_text,则 FIND 返回错误值 #VALUE! 。 如果 start_num 不大于 0,则 FIND 返回错误值 #VALUE! 。
如果 start_num 大于 within_text 的长度,则 FIND 返回错误值 #VALUE! 。 应用示例:
A2=“广东省东莞市东城区„”,A3=“黑龙江省哈尔滨市„”; 对含有不同地方的数据,利用“Find ”函数,非常简单地确定“省”出现的位置。
详细解释:
公式“=FIND(省,A2) ”中,“省”表示要查找的文本为“省”,(实际使用中,也可以很长的一串字符)。要找查找的对象是A2单元格的内容“广东省东莞市东城区„”,因为没有指定起始位置,所以系统从第一位开始。返回的“3”,表示“省“字在第三位。 而公式“=FIND(省,A3) ”中,“黑龙江省哈尔滨市„”则返回4。
与Find 类似,Search 函数也有相同的功能。它们的区别是,Find 区分大小写,而Search 不分大小写(当被查找的文本为英文时)。
另外,在Excel 中,对文本进行处理的很多函数都提供了一个特别用来处理双字节字符(如中文,日文)的函数,一般是在原函数后加“B ”,如FIND, 就有一个FINDB 。LEFT, 相对应的就是LEFTB 等。其实,我们在实际应用中,使用不带“B ”的函数就足够了。如果你想使用带“B ”的函数,则要特别注意,尤其是在组合运用函数时,其中一个函数使用带“B ”的形式,则其它有带“B ”形式的函数,全部都要使用其带“B ”的形式,否则结果极可能是错的。
[2]
C++中的find 函数
泛型算法的 find :
在非string 类型的容器里,可以直接找出所对应的元素.
find 函数需要几个参数:迭代器,下标值,所要找的元素
vector a;
find(a.begin(),a.end(),1);
这句话就表示从a 的头开始一直到尾,找到第一个值为1的元素,返回的是一个指向该元素的迭代器。
find 在string 容器中用途比较广:
find_first_of,find_last_of,find_not_first_of,find_not_last_of等等
在string 类型中,需要的参数也有迭代器,下标和要找的字符串,这里要注意,是字符串,不能查找单个字符。
string a;
find(a.begin(),a.end(),"asd")
这句话就是说,在a 中找到第一个存在子串与"asd" 子串相等的字符串的首地址。返回指向该字符串首地址的迭代器。
find_last_of则是找到最后一个,
find_not_first_of是找出第一个不与“asd ”相等的字符串的首地址
七、PROPER 函数
PROPER 函数是office 办公软件中的一种文本函数,
将文本字符串的首字母及任何非字母字符之后的首字母转换成大写。将其余的字母转换成小写。
语法结构为:PROPER(text)
Text 用引号括起来的文本、返回文本值的公式或是对包含文本的单元格的引用。PROPER 函数只有一个参数,表示转换成大写形式的文本。
八、LEFT 函数
用途:
得到字符串左部指定个数的字符。
语法:
LEFT( string, n )
参数:
string 指定要提取子串的字符串。
n 指定子串长度返回值String 。
说明:
函数执行成功时返回string 字符串左边n 个字符,发生错误时返回空字符串("" )。如果任何参数的值为NULL ,Left()函数返回NULL 。如果n 的值大于string 字符串的长度,那么Left()函数返回整个string 字符串,但并不增加其它字符。
实例:
如果A1=安徽省蚌埠市固镇县杨庙乡,则公式“=LEFT(A1,FIND("省",A1)) ”返回安徽省。
Dim AnyString, MyStr
AnyString = "Hello World" '定义字符串。
MyStr = Left(AnyString, 1) '返回 "H" 。
MyStr = Left(AnyString, 7) '返回 "Hello W"。
MyStr = Left(AnyString, 10) '返回 "Hello Worl"。
九、LOWER 函数
LOWER 函数用来将文本转换为小写。
例如,B3单元格内容为“HR ”,在C3单元格编辑函数公式“=LOWER(B3)”,C3则反馈结果“hr ”。
说明:对单元格中的非字母不进行改变。
十、MID 函数
目录
名称类别
名称
Mid
从字符串中返回指定数目的字符。
类别
字符串函数
原形
MID(text,start_num,num_chars)
参数
text
字符串表达式,从中返回字符。如果 text 包含 Null ,则返回 Null 。 start_num
text 中被提取的字符部分的开始位置。如果 start 超过了 text 中字符的数目,Mid 将返回零长度
字符串 ("")。
num_chars
要返回的字符数。如果省略或num_chars 超过文本的字符数(包括 start 处的字符),将返回字符串中从 start_num到字符串结束的所有字符。
说明
要判断 text 中字符的数目,可使用 Len 函数。
下面的示例利用 Mid 函数返回字符串中从第四个字符开始的六个字符:
Dim MyVar
MyVar = Mid("VB脚本is fun!", 4, 6) 'MyVar 包含 "Script" 。
注意 MidB 函数与包含在字符串中的字节数据一起使用。其参数不是指定字符数,而是字节数。
例:
M=4100
A1=Mid(M,1,1) A1=4
A2=Mid(M,2,2) A2=10
十一、REPT 函数
REPT 函数是office 办公软件excel 中的一种函数,REPT 函数可可以按照定义的次数重复现实文本,相当于复制文本。其语法结构为:REPT (text ,number_times). REPT 函数包括两个参数 其定义分别是:
text :表示需要重复现实文本的次数
number_times表示指定文本重复现实的次数
十二、Replace 函数
百科名片
Replace, 意思是“代替”,标志着它是一个标识替换的函数。返回一个字符串,该字符串中指定的子字符串已被替换成另一子字符串,并且替换发生的次数也是指定的。 描述
[1]返回字符串,其中指定数目的某子字符串被替换为另一个子字符串。 语法
Replace(expression, find, replacewith[, compare[, count[, start]]])
Replace 函数的语法有以下参数:
参数 描述
expression 必选。字符串表达式,包含要替换的子字符串。
find 必选。被搜索的子字符串。
replacewith 必选。用于替换的子字符串。
start 可选。expression 中开始搜索子字符串的位置。如果省略,默认值为 1。
count 可选。执行子字符串替换的数目。如果省略,默认值为 -1,表示进行所有可能的替换。
compare 可选。指示在计算子字符串时使用的比较类型的数值。有关数值,请参阅“设置”部分。
设置
compare 参数可以有以下值:
常数 值 描述
vbBinaryCompare 0 执行二进制比较。
vbTextCompare 1 执行文本比较。
vbDatabaseCompare 2 执行基于数据库(在此数据库中执行比较)中包含的信息的比较。 返回值
Replace 返回以下值:
如果 Replace 返回
expression 为零长度 零长度字符串 ("")。
expression 为 Null 错误。
find 为零长度 expression 的副本。
replacewith 为零长度 expression 的副本,其中删除了所有由 find 参数指定的内容。 start > Len(expression) 零长度字符串。
count 为 0 expression 的副本。
说明
Replace 函数的返回值是经过替换(从由 start 指定的位置开始到 expression 字符串的结尾)后的字符串,而不是原始字符串从开始至结尾的副本。
十三、Right 函数
百科名片
right 函数的功能是从字符串右端取指定个数字符。 语法Right ( string, n ) 。参数string :string 类型,指定要提取子串的字符串n :long 类型,指定子串长度返回值String 。函数执行成功时返回string 字符串右边n 个字符,发生错误时返回空字符串("" )。如果任何参数的值为NULL ,Right()函数返回NULL 。如果n 的值大于string 字符串的长度,那么Right()函数返回整个string 字符串,但并不增加其它字符。
功能
返回 Variant (String),其中包含从字符串右边取出的指定数量的字符。 语法
Right(string, length)
Right 函数的语法具有下面的命名参数:
部分 说明
string 必要参数。字符串表达式,从中最右边的字符将被返回。如果 string 包含 Null ,将返回 Null 。
length 必要参数;为 Variant (Long)。为数值表达式,指出想返回多少字符。如果为 0,返回零长度字符串 ("")。如果大于或等于 string 的字符数,则返回整个字符串。 说明
欲知 string 的字符数,用 Len 函数。
注意 RightB 函数作用于包含在字符串中的字节数据。所以 length 指定的是字节数,而不是指定返回的字符数。
十四、UPPER 函数
UPPER 函数是office 办公软件excel 中的一种函数,该函数与LOWER 函数的功能相反,用于将文本字符串中的所有小写字母转换成大写字母,发其语法结构为:UPPER (text) 。UPPER 函数只有一个参数text ,表示需要换成大写形式的文本。
十五、SUBSTITUTE 函数
百科名片
在文本字符串中用 new_text 替代 old_text。如果需要在某一文本字符串中替换指定的文本,请使用函数 SUBSTITUTE ;如果需要在某一文本字符串中替换指定位置处的任意文本,请使用函数 REPLACE 。
目录
语法
示例
也可以在vb 里面应用
语法
SUBSTITUTE(text,old_text,new_text,instance_num)
Text 为需要替换其中字符的文本,或对含有文本的单元格的引用。
Old_text 为需要替换的旧文本。
New_text 用于替换 old_text 的文本。
Instance_num 为一数值,用来指定以 new_text 替换第几次出现的 old_text。如果指定了 instance_num,则只有满足要求的 old_text 被替换;否则将用 new_text 替换 TEXT 中出现的所有 old_text。
示例
如果您将示例复制到空白工作表中,可能会更易于理解该示例。
A
1 数据
2 销售数据
3 2008年第一季度
4 2011年第一季度
公式 说明(结果)
=SUBSTITUTE(A2,"销售"," 成本") “成本”替代“销售”(成本数据)
=SUBSTITUTE(A3,"一"," 二",1) 用“二”代替示例中第一次出现的“一”(2008年第二季度) =SUBSTITUTE(A4,"1","2",2) 用“2”代替示例中第二次出现的“1”(2012年第一季度) 也可以在vb 里面应用
SUBSTITUTE 是Excel 的单元格公式函数,不是VBA 的内部函数,这两种概念要分清楚哦。虽然有好多函数的名称一样,用法也大同小异,但本质上是不同的哦!下面是SUBSTITUTE 函数在Excel 中的用法:
如果需要在一个文字串中替换指定的文本,可以使用函数SUBSTITUTE 语法:
SUBSTITUTE(text,old_text,new_text,instance_num)
参数:
Text 是需要替换其中字符的文本,或是含有文本的单元格引用;
Old_text是需要替换的旧文本;
New_text用于替换old_text 的文本;
Instance_num 为一数值,用来指定以new_text 替换第几次出现的old_text;如果指定了instance_num,则只有满足要求的old_text 被替换;否则将用new_text 替换Text 中出现的
所有old_text。
实例:
如果A1=学习的革命、A2=电脑,则公式
=SUBSTITUTE(A1," 的革命" ,A2,1)
返回“学习电脑”
要查看Excel 中所有可用函数,可以点Excel 编辑栏左边那个“fx ”图标,里面包含了所有函数的说明。
要查看VBA 中所有可用函数,可以在VB 窗口点帮助菜单,里面的语言参考包含了VBA 的所有函数、语句、属性、方法、对象等等的详细说明。
十六、VALUE 函数
V ALUE 函数是office 办公软件excel 表格中的一种函数,该函数可以将代表数字的文本字符串转换成数字,其语法结构为:V ALUE(text),VALUE 函数只有一个参数text ,表示需要转换成数值格式的文本。text 参数可以用双引号直接引用文本,也可以引用其他单元格中的文本。
如果要输入以0开头的数字,必须将单元格格式设置为文本格式,在数值格式下输入以0开头的数字时,系统会自动去掉开头的0。
十七、WIDECHAR 函数
用途:
将半角字符转换为全角字符。
语法:
WIDECHAR(text)。
参数:
Text 待要查找其长度的文本。
说明:
此函数可以将半角转换为全角显示,可以转换的安符有英文字母、数字、空格、标点符号以及日文,汉字没有全角、半角之分。
实例:
如果A1=电脑EXCEL ,则公式“=WIDECHAR(A1)”返回电脑EXCEL。
含义
所有参数的逻辑值为真时,返回 TRUE ;只要一个参数的逻辑值为假,即返回 FLASE 。 语法
AND(logical1,logical2, ...)
Logical1, logical2, ... 表示待检测的 1 到 30 个条件值,各条件值可为 TRUE 或 FALSE 。
说明
• 参数必须是逻辑值 TRUE 或 FALSE, 或者包含逻辑值的数组( 用于建立可生成多个结果或可对在行和列中排列的一组参数进行运算的单个公式。数组区域共用一个公式;数组常量是用作参数的一组常量)或引用。
• 如果数组或引用参数中包含文本或空白单元格,则这些值将被忽略。
• 如果指定的单元格区域内包括非逻辑值,则 AND 将返回错误值 #VALUE! 。 示例
如果您将示例复制到空白工作表中,可能会更易于理解该示例。
示例一
A B
1 公式 说明(结果)
2 =AND(TRUE,TRUE) 所有参数的逻辑值为真(TRUE)
3 =AND(TRUE,FALSE) 一个参数的逻辑值为假(FALSE)
4 =AND(2+2=4,2+3=5) 所有参数的计算结果为真(TRUE)
示例二
A
1 数据
2 50
3 104
公式 说明(结果)
=AND(1 因为50介于1到100之间(TRUE)
=IF(AND(1 如果上面的第二个数字介于1到100之间,则显示该数字,否则显示信息(数值超出范围)
=IF(AND(1 如果上面的第一个数字介于1到100之间,则显示该数字,否则显示信息
(50)
【含义】
对参数值求反。当要确保一个值不等于某一特定值时,可以使用 NOT 函数。
【语法】
NOT(logical)
Logical 为一个可以计算出 TRUE 或 FALSE 的逻辑值或逻辑表达式。
【说明】
如果逻辑值为 FALSE ,函数 NOT 返回 TRUE ;如果逻辑值为 TRUE ,函数 NOT 返回 FALSE 。
【示例】
如果您将示例复制到空白工作表中,可能会更易于理解该示例。
A B
1 公式 说明(结果)
2 =NOT(FALSE) 对FALSE 求反(TRUE)
3 =NOT(1+1=2) 对逻辑值为TRUE 的公式求反(FALSE)
二十、OR 函数
含义
在其参数组中,任何一个参数逻辑值为 TRUE ,即返回 TRUE ;所有参数的逻辑值为 FALSE ,才返回 FALSE 。
语法
OR(logical1,logical2,...)
Logical1,logical2,... 为需要进行检验的 1 到 30 个条件表达式。
说明
• 参数必须能计算为逻辑值,如 TRUE 或 FALSE ,或者为包含逻辑值的数组( 用于建立可生成多个结果或可对在行和列中排列的一组参数进行运算的单个公式。数组区域共用一个公式;数组常量是用作参数的一组常量)或引用。
• 如果数组或引用参数中包含文本或空白单元格,则这些值将被忽略。 • 如果指定的区域中不包含逻辑值,函数 OR 返回错误值 #VALUE! 。
•可以使用 OR 数组公式来检验数组中是否包含特定的数值。若要输入数组公式,请按 Ctrl+Shift+Enter。
示例
如果您将示例复制到空白工作表中,可能会更易于理解该示例。
A B
1 公式 说明(结果)
2 =OR(TRUE) 参数为TRUE(TRUE)
3 =OR(1+1=1,2+2=5) 所有参数的逻辑值为FALSE(FALSE)
4 =OR(TRUE,FALSE,TRUE) 至少一个参数为TRUE(TRUE)
二十一、COUNT 函数
功能
1. 在Excel 办公软件中计算参数列表中的数字项的个数。
2. 在数据库(sql server或者access )中可以用来统计符合条件的数据条数。 语法
EXCEL: COUNT(value1,value2, ...)
SQL: select count(*) from dmp
参数
V alue1, value2, ... 是包含或引用各种类型数据的参数(1~30个),但只有数字类型的数据才被计数。
说明
函数COUNT 在计数时,将把数字、空值、逻辑值、日期或以文字代表的数计算进去;但是错误值或其他无法转化成数字的文字则被忽略。
如果参数是一个数组或引用,那么只统计数组或引用中的数字;数组中或引用的空单元格、逻辑值、文字或错误值都将忽略。如果要统计逻辑值、文字或错误值,请使用函数COUNTA (COUNTIF 按EXCEL 的说明也行,但常出毛病)。
示例
(一 )
1、我要是写成=COUNT(B1,D1),那就是计算机B1和D1两个单元格中有几个数字(不包括C1单元格),
2、但是如果我写成=COUNT(B1:D1),注意,中间用冒号了,那就是计算机从B1单元格到D1单元格中数字的个数了,(这就包括数字单元格了)
3、再有,我写成=COUNT("B1","D1","123","hello"),那结果就是0, 因为里面没有一个数字,B1和D1因为加了引号,所以是字符了,不是单元格。
4、如果A1为1,A5为3,A7为2,其他均为空,则:
COUNT(A1:A7) 等于 3 备注:计算出A1到A7中,数字的个数
COUNT(A4:A7) 等于 2 备注:计算出A4到A7中,数字的个数
COUNT(A1:A7, 2) 等于 4 备注:计算A1到A7单元格和数字2一起,一共是多少个数字(A1到A7中有3个,加上数字2,一共4个)
(二)
在数据库(sql server),它的格式为:count (),括号里表示要统计的对象。
如果括号内是用星号(数字键8上面那个),就表示统计所有的内容。如果是个具体的某一行或列的内容,则表示该行或者列的内容。(例:count (学生),则表示统计所有学生的个数)。
二十二、MAX 函数
作用:返回一个最大数值
数学等价
max(x,y)=0.5*(x+y+|x-y|);
在概率论中多有使用,如X 、Y 独立同分布,X~N(0,1),求期望E(max(x,y)). 语法
MAX(number1,number2,...)
参数
Number1,number2,... 为需要找出最大数值的 1 到 30 个数值。
说明
可以将参数指定为数字、空白单元格、逻辑值或数字的文本表达式。如果参数为错误值或不能转换成数字的文本,将产生错误。如果参数为数组或引用,则只有数组或引用中的数字将被计算。数组或引用中的空白单元格、逻辑值或文本将被忽略。如果逻辑值和文本不能忽略,请使用函数 MAXA 来代替。
如果参数不包含数字,函数 MAX 返回 0。
示例
如果 A1:A5 包含数字 10、7、9、27 和 2,则:
MAX(A1:A5) 等于 27
MAX(A1:A5,30) 等于 30
二十三、MIN 函数
返回给定参数表中的最小值。
语法:
MIN(number1,number2, ...)
参数:
Number1, number2,... 是要从中找出最小值的 1 到 30 个数字参数。
说明:
参数可以是数字、空白单元格、逻辑值或表示数值的文字串。如果参数中有错误值或无法转换成数值的文字时,将引起错误。
如果参数是数组或引用,则函数 MIN 仅使用其中的数字、数组或引用中的空白单元格,逻辑值、文字或错误值将忽略。如果逻辑值和文字串不能忽略,请使用 MINA 函数 。 如果参数中不含数字,则函数 MIN 返回 0。
示例:
如果 A1:A5 中依次包含数值 10,7,3,27 和 2,那么
MIN(A1:A5) 等于 2
MIN(A1:A5, 0) 等于 0
二十四、SUMIF 函数
语法
SUMIF(range,criteria,sum_range)
1)range 为用于条件判断的单元格区域。
2)criteria 为确定哪些单元格将被相加求和的条件,其形式可以为数字、表达式或文本。例如,条件可以表示为 32、"32" 、">32" 或 "apples" 。条件还可以使用通配符,如需要求和的条件为第二个数字为2的,可表示为"?2*",从而简化公式设置。
3)sum_range 是需要求和的实际单元格。
说明
只有在区域中相应的单元格符合条件的情况下,sum_range 中的单元格才求和。 如果忽略了 sum_range,则对区域中的单元格求和。
Microsoft Excel 还提供了其他一些函数,它们可根据条件来分析数据。例如,如果要计算单元格区域内某个文本字符串或数字出现的次数,则可使用 COUNTIF 函数。如果要让公式根据某一条件返回两个数值中的某一值(例如,根据指定销售额返回销售红利),则可使用 IF 函数。
补充
SUMIF 函数可对满足某一条件的单元格区域求和,该条件可以是数值、文本或表达式,可以应用在人事、工资和成绩统计中。
仍以上图为例,在工资表中需要分别计算各个科室的工资发放情况。 要计算销售部2001年5月加班费情况。则在F15种输入公式为
=SUMIF($C:$C,"销售部",$F:$F)
其中"$C:$C"为提供逻辑判断依据的单元格区域," 销售部" 为判断条件即只统计$C:$C区域中部门为" 销售部" 的单元格,$F:$F为实际求和的单元格区域。
二十五、INDEX 函数
函数INDEX()有两种形式:数组和引用。数组形式通常返回数值或数值数组;引用形式通常返回引用。
语法:INDEX(array,row_num,column_num)返回数组中指定的单元格或单元格数组的数值。INDEX(reference,row_num,column_num,area_num)返回引用中指定单元格或单元格区域的引用。
参数:Array 为单元格区域或数组常数;Row_num为数组中某行的行序号,函数从该行返回数值。如果省略row_num,则必须有column_num;Column_num是数组中某列的列序号,函数从该列返回数值。如果省略column_num,则必须有row_num。Reference 是对一个或多个单元格区域的引用,如果为引用输入一个不连续的选定区域,必须用括号括起来。Area_num是选择引用中的一个区域,并返回该区域中row_num和column_num的交叉区域。选中或输入的第一个区域序号为1,第二个为2,以此类推。如果省略area_num,则INDEX 函数使用区域1
实例:如果A1=68、A2=96、A3=90,则公式“=INDEX(A1:A3,1,1) ”返回68。
二十六、ROW 函数
含义
返回引用的行号。
语法
ROW(reference)
Reference 为需要得到其行号的单元格或单元格区域。
• 如果省略 reference ,则假定是对函数 ROW 所在单元格的引用。
• 如果 reference 为一个单元格区域,并且函数 ROW 作为垂直数组输入,则函数 ROW 将 reference 的行号以垂直数组的形式返回。
• Reference 不能引用多个区域。
示例
如果您将示例复制到空白工作表中,可能会更易于理解该示例。
示例一:
A B
1 公式 说明(结果)
2 =ROW() 公式所在行的行号(2)
3 =ROW(C10) 引用所在行的行号(10)
示例二:
A B
1 公式 说明(结果)
2 =ROW(D4:E6) 引用中的第一行的行号(4)
【提示】
示例中的公式必须以数组公式的形式输入。将示例复制到空白的工作表后,选择以公式单元格开头的区域 A2:A4。按 F2,再按 Ctrl+Shift+Enter。如果不以数组公式的形式输入公式,则只返回单个结果值 4。
注意:ROW 是容失性函数,当你表格中存在ROW 函数时,以后当你每次打开这个工作表时,即使没有改动过,当你退出时也会提示你是否要保存。
二十七、INDEX 函数
返回表或区域中的值或对值的引用。INDEX 函数有两种形式:数组形式和引用形式。
一、数组形式
返回由行和列编号索引选定的表或数组中的元素值。如果 INDEX 的第一个参数是数组常量,请使用数组形式。
INDEX(array,row_num,column_num)
Array 是一个单元格区域或数组常量。
• 如果数组中只包含一行或一列,则可以不使用相应的 row_num 或 column_num 参数。
• 如果数组中包含多个行和列,但只使用了 row_num 或 column_num,INDEX 将返回数组中整行或整列的数组。
Row_num 用于选择要从中返回值的数组中的行。如果省略 row_num,则需要使用 column_num。
Column_num 用于选择要从中返回值的数组中的列。如果省略 column_num,则需要使用 row_num。
说明
1、如果同时使用了 row_num 和 column_num 参数,INDEX 将返回 row_num 和 column_num 交叉处单元格中的值。
2、如果将 row_num 或 column_num 设置为 0(零),INDEX 将分别返回整列或整行的值数组。要将返回的值用作数组,请在行的水平单元格区域和列的垂直单元格区域以数组公式 (数组公式:数组公式对一组或多组值执行多重计算,并返回一个或多个结果。数组公式括于大括号 ({ }) 中。按 Ctrl+Shift+Enter 可以输入数组公式。)的形式输入 INDEX 函数。要输入数组公式,请按 Ctrl+Shift+Enter。
3、Row_num 和 column_num 必须指向数组中的某个单元格;否则,INDEX 将返回 #REF! 错误值
二、引用形式
返回特定行和列交叉处单元格的引用。如果该引用是由非连续选定区域组成的,则可以选择要用作查找范围的选定区域。
INDEX(reference,row_num,column_num,area_num)
Reference 是对一个或多个单元格区域的引用。
• 如果要对引用输入一个非连续区域,请使用括号将该引用括起来。
• 如果引用中的每个区域都只包含一行或一列,则可以不使用相应的 row_num 或 column_num 参数。例如,对于单行引用,可以使用 INDEX(reference,,column_num)。 Row_num 是要从中返回引用的引用中的行编号。
Column_num 是要从中返回引用的引用中的列编号。
Area_num 用于选择要从中返回 row_num 和 column_num 的交叉点的引用区域。选择或输入的第一个区域的编号是 1,第二个区域的编号是 2,依此类推。如果省略 area_num,则 INDEX 将使用区域 1。
• 例如,如果引用描述的是单元格 (A1:B4,D1:E4,G1:H4),则 area_num 1 便是指区域 A1:B4,area_num 2 指区域 D1:E4,area_num 3 指区域 G1:H4。
说明
• 在 reference 和 area_num 选择了特定区域后,row_num 和 column_num 将选择一
个特定的单元格:row_num 1 是该区域中的第一行,column_num 1 是该区域中的第一列,依此类推。INDEX 返回的引用将是 row_num 和 column_num 的交叉点。
• 如果将 row_num 或 column_num 设置为 0(零),INDEX 将分别返回整列或整行的引用。
• Row_num、column_num 和 area_num 必须指向引用中的某个单元格;否则,INDEX 将返回 #REF! 错误值。如果省略了 row_num 和 column_num,INDEX 将返回由 area_num 指定的引用区域。
• INDEX 函数的结果是一个引用,在用于其他公式时,其解释也是如此。根据使用的公式,INDEX 的返回值可以用作引用或值。例如,公式 CELL("width",INDEX(A1:B2,1,2)) 相当于 CELL("width",B1)。其中,CELL 函数将 INDEX 的返回值用作单元格引用。另一方面,类似于 2*INDEX(A1:B2,1,2) 的公式会将 INDEX 的返回值转换为该单元格(此处为 B1)中的数字。
二十八、LARGE 函数
用途:
返回数据集中的第K 个最大值。
语法:
LARGE(array,k)
参数:
array 为需要找到第 k 个最大值的数组或数字型数据区域。
k 为返回的数据在数组或数据区域里的位置(从大到小) 。
说明:
LARGE 函数计算最大值时忽略逻辑值TRUE 和FALSE 以及文本型数字。 实例:
如果A1=24,A2=5,A3=7,A4=15,A5=0,A6=35,A7=2,A8=5,则公式"=LARGE(A1:A8,3)"返回15,即数组中第3个大的数字是15(A4)。
二十九、ADDRESS 函数
【含义】
按照给定的行号和列标,建立文本类型的单元格地址。
【语法】
ADDRESS(row_num,column_num,abs_num,a1,sheet_text)
Row_num 在单元格引用中使用的行号。
Column_num 在单元格引用中使用的列标。
ABS_num 返回的引用类型
1或省略 绝对引用
2 绝对行号,相对列标
3 相对行号,绝对列标
4 相对引用
A1 用以指定 A1 或 R1C1 引用样式的逻辑值。如果 A1 为 TRUE 或省略,函数 ADDRESS 返回 A1 样式的引用;如果 A1 为 FALSE ,函数 ADDRESS 返回 R1C1 样式的引用。
Sheet_text 为一文本,指定作为外部引用的工作表的名称,如果省略 sheet_text,则不使用任何工作表名。
【示例】
如果将示例复制到空白工作表中,可能会更易于理解该示例。
A B
1 公式 说明(结果)
2 =ADDRESS(2,3) 绝对引用($C$2)
3 =ADDRESS(2,3,2) 绝对行号,相对列标(C$2)
4 =ADDRESS(2,3,2,FALSE) 在R1C1引用样式中的绝对行号,相对列标(R2C[3]) 5 =ADDRESS(2,3,1,FALSE,"[Book1]Sheet1" 对其他工作表的绝对引用([Book1]Sheet1!R2C3)
6 =ADDRESS(2,3,1,FALSE,"ETSHEET") 对其他工作表的绝对引用('ETSHEET'!R2C3)
三十、Choose 函数
编辑本段choose 函数
EXCEL 中choose 函数从参数列表中选择并返回一个值。
编辑本段语法
Choose(index_num, value1, [value2], ...)
编辑本段语法参数
Index_num 必要参数,数值表达式或字段,它的运算结果是一个数值,且界于 1 和254之间的数字。 或者为公式或对包含 1 到 254 之间某个数字的单元格的引用。
如果 index_num 为 1,函数 CHOOSE 返回 value1;如果为 2,函数 CHOOSE 返回 value2,以此类推。
如果 index_num 小于 1 或大于列表中最后一个值的序号,函数 CHOOSE 返回错误值 #VALUE! 。
如果 index_num 为小数,则在使用前将被截尾取整。
V alue1, value2, ... Value1 是必需的,后续值是可选的。这些值参数的个数介于 1 到 254 之间,函数 CHOOSE 基于 index_num 从这些值参数中选择一个数值或一项要执行的操作。参数可以为数字、单元格引用、已定义名称、公式、函数或文本。
编辑本段说明
如果 index_num 为一个数组 ,则在计算函数 CHOOSE 时,将计算每一个值。 函数 CHOOSE 的数值参数不仅可以为单个数值,也可以为区域引用。 例如,下面的公式: =SUM(CHOOSE(2,A1:A10,B1:B10,C1:C10))相当于:
=SUM(B1:B10)然后基于区域 B1:B10 中的数值返回值。
函数 CHOOSE 先被计算,返回引用 B1:B10。然后函数 SUM 用 B1:B10 进行求和计算。即函数 CHOOSE 的结果是函数 SUM 的参数。
三十一、HLOOKUP 函数
展开
HLOOKUP 函数是Excel 等电子表格中的横向查找函数,它与LOOKUP 函数和VLOOKUP 函数属于一类函数,HLOOKUP 是按行查找的,VLOOKUP 是按列查找的。 编辑本段使用说明
语法规则
该函数的语法规则如下:
HLOOKUP(lookup_value,table_array,row_index_num,range_lookup)
参数 简单说明 输入数据类型
lookup_value 要查找的值 数值、引用或文本字符串 table_array 要查找的区域 数据表区域
row_index_num 返回数据在区域的第几行数 正整数
range_lookup 精确匹配 TRUE (或不填) /FALSE
1、Lookup_value参数说明
Lookup_value为需要在数据表第一行中进行查找的数值。Lookup_value 可以为数值、引用或文本字符串。
2、Table_array参数说明
Table_array为需要在其中查找数据的数据表。使用对区域或区域名称的引用。
3、Row_index_num参数说明
Row_index_num为table_array 中待返回的匹配值的行序号。Row_index_num 为 1 时,返回 table_array 第一行的数值,row_index_num 为 2 时,返回 table_array 第二行的数值,以此类推。如果 row_index_num 小于 1,函数 HLOOKUP 返回错误值 #VALUE! ;如果 row_index_num 大于 table_array 的行数,函数 HLOOKUP 返回错误值 #REF!。
4、Range_lookup参数说明
Range_lookup为一逻辑值,指明函数 HLOOKUP 查找时是精确匹配,还是近似匹配。如果为 TRUE 或省略,则返回近似匹配值。也就是说,如果找不到精确匹配值,则返回小于 lookup_value 的最大数值。如果 lookup_value 为 FALSE ,函数 HLOOKUP 将查找精确匹配值,如果找不到,则返回错误值 #N/A。
表格或数值数组 (数组:用于建立可生成多个结果或可对在行和列中排列的一组参数进行运算的单个公式。数组区域共用一个公式;数组常量是用作参数的一组常量。)的首行查找指定的数值,并在表格或数组中指定行的同一列中返回一个数值。当比较值位于数据表的首行,并且要查找下面给定行中的数据时,请使用函数 HLOOKUP 。当比较值位于要查找的数据左边的一列时,请使用函数 VLOOKUP 。 HLOOKUP 中的 H 代表“行”。 语法
HLOOKUP(lookup_value,table_array,row_index_num,range_lookup)
Lookup_value 为需要在数据表第一行中进行查找的数值。Lookup_value 可以为数值、引用或文本字符串。
Table_array 为需要在其中查找数据的数据表。使用对区域或区域名称的引用。
Table_array 的第一行的数值可以为文本、数字或逻辑值。如果 range_lookup 为 TRUE ,则 table_array 的第一行的数值必须按升序排列:...-2、-1、0、1、2、„、A-Z 、FALSE 、TRUE ;否则,函数 HLOOKUP 将不能给出正确的数值。如果 range_lookup 为 FALSE ,
则 table_array 不必进行排序。文本不区分大小写。将数值按升序排列(从左至右)。有关详细信息,请参阅排序数据。 Row_index_num 为 table_array 中待返回的匹配值的行序号。Row_index_num 为 1 时,返回 table_array 第一行的数值,row_index_num 为 2 时,返回 table_array 第二行的数值,以此类推。如果 row_index_num 小于 1,函数 HLOOKUP 返回错误值 #VALUE! ;如果 row_index_num 大于 table_array 的行数,函数 HLOOKUP 返回错误值 #REF!。
Range_lookup 为一逻辑值,指明函数 HLOOKUP 查找时是精确匹配,还是近似匹配。如果为 TRUE 或省略,则返回近似匹配值。也就是说,如果找不到精确匹配值,则返回小于 lookup_value 的最大数值。如果 lookup_value 为 FALSE ,函数 HLOOKUP 将查找精确匹配值,如果找不到,则返回错误值 #N/A。
注解
如果函数 HLOOKUP 找不到 lookup_value,且 range_lookup 为 TRUE ,则使用小于 lookup_value 的最大值。 如果函数 HLOOKUP 小于 table_array 第一行中的最小数值,函数 HLOOKUP 返回错误值 #N/A。 如果 range_lookup 为 FALSE 且 lookup_value 为文本,则可以在 lookup_value 中使用通配符、问号 (?) 和星号 (*)。问号匹配任意单个字符;星号匹配任意字符序列。如果要查找实际的问号或星号,请在该字符前键入波形符 (~)。 示例
如果将示例复制到一个空白工作表中,可能会更容易理解该示例。
如何复制示例
创建一个空白工作簿或工作表。 选择“帮助”主题中的示例。 注释 不要选择行或列标题。从“帮助”中选择示例按 Ctrl+C。 在工作表中,选择单元格 A1,然后按 Ctrl+V。 要在查看结果和查看返回结果的公式之间进行切换,请按 Ctrl+`(重音符),或在“公式”选项卡上的“公式审核”组中,单击“显示公式”按钮。
1234 ABCAxlesBearingsBolts[1**********]公式说明(结果) =HLOOKUP("Axles",A1:C4,2,TRUE)在首行查找 Axles ,并返回同列中第 2 行的值。(4) =HLOOKUP("Bearings",A1:C4,3,FALSE)在首行查找 Bearings ,并返回同列中第 3 行的值。
(7) =HLOOKUP("B",A1:C4,3,TRUE) 在首行查找 B ,并返回同列中第 3 行的值。由于 B 不是精确匹配,因此将使用小于 B 的最大值 Axles 。(5) =HLOOKUP("Bolts",A1:C4,4)在首行查找 Bolts ,并返回同列中第 4 行的值。(11) =HLOOKUP(3,{1,2,3;"a","b","c";"d","e","f"},2,TRUE) 在数组常量的第一行中查找 3,并返回同列中第 2 行的值。(c)
编辑本段使用举例
HLOOKUP 使用示例图1
如图所示,我们要在A1:K6区域中提取100003、100004、100005、100007、100010五人的全年总计销量,并对应的输入到D1:H12中。一个一个的手动查找在数据量大的时候十分繁琐,因此这里使用HLOOKUP 函数演示:
首先在D12单元格输入“=Hlookup(”,此时Excel 就会提示4个参数。
第一个参数,很显然,我们要让100003对应的是D11,这里就输入“ D11, ” ,这 第二个参数,这里输入我们要查找的区域,即“$1:$6,”;
第三个参数,“全年总计”是区域的第六行,所以这里输入“6, ”,输入“5”就会输入第四季度的项目了;
第四个参数,因为我们要精确的查找工号,所以留空即可。
最后补全最后的右括号“) ”,得到公式“=HLOOKUP(100003,$1:$6,6)”,使用填充柄填充其他单元格即可完成查找操作。
三十二、VLOOKUP 函数
简介
纵向查找函数,它与LOOKUP 函数和HLOOKUP 函数属于一类函数,VLOOKUP 是按列查找,最终返回该行所需查询列序所对应的值;HLOOKUP 是按行查找的。 编辑本段使用说明
语法规则
该函数的语法规则如下:
VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)
参数 简单说明 输入数据类型
lookup_value 要查找的值 数值、引用或文本字符串 table_array 要查找的区域 数据表区域
col_index_num 返回数据在区域的第几列数 正整数
range_lookup 精确匹配 TRUE (或不填) /FALSE
1、Lookup_value参数说明
Lookup_value为需要在数据表第一列中进行查找的数值。Lookup_value 可以为数值、引用或文本字符串。
2、Table_array参数说明
3、Table_array为需要在其中查找数据的数据表。使用对区域或区域名称的引用。 col_index_num参数说明
4、col_index_num为table_array 中待返回的匹配值的列序号。col_index_num 为 1 时,返回 table_array 第一列的数值,col_index_num 为 2 时,返回 table_array 第二列的数值,以此类推。如果 col_index_num 小于1,函数 VLOOKUP 返回错误值 #VALUE! ;如果 col_index_num 大于 table_array 的列数,函数 VLOOKUP 返回错误值#REF!。 Range_lookup参数说明
5、Range_lookup为一逻辑值,指明函数 VLOOKUP 查找时是精确匹配,还是近似匹配。如果为true 或省略 ,则返回近似匹配值。也就是说,如果找不到精确匹配值,则返回小于 lookup_value 的最大数值。如果 lookup_value 为 false ,函数 VLOOKUP 将查找精确匹配值,如果找不到,则返回错误值 #N/A。
编辑本段使用举例
vlookup 函数示例
所示,我们要在A2:F12区域中提取100003、100004、100005、100007、100010五人的全年总计销量,并对应的输入到I4:I8中。一个一个的手动查找在数据量大的时候十分繁琐,因此这里使用VLOOKUP 函数演示:
首先在I4单元格输入“=Vlookup(”,此时Excel 就会提示4个参数。
Vlookup 结果演示
第一个参数,很显然,我们要让100003对应的是I4,这里就输入“H4, ” ; 第二个参数,这里输入我们要查找的区域(绝对引用) ,即“$A$2:$F$12,”;
第三个参数,“全年总计”是区域的第六列,所以这里输入“6”,输入“5”就会输入第四季度的项目了;
第四个参数,因为我们要精确的查找工号,所以留空即可。
最后补全最后的右括号“) ”,得到公式“=VLOOKUP(H4,$A$2:$F$12,6,)”,使用填充柄填充其他单元格即可完成查找操作。
VLOOKUP 函数使用注意事项
说到VLOOKUP 函数,相信大家都会使用,而且都使用得很熟练了。不过,有几个细节问题,大家在使用时还是留心一下的好。
一.VLOOKUP 的语法
VLOOKUP 函数的完整语法是这样的:
VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)
1.括号里有四个参数,是必需的。最后一个参数range_lookup是个逻辑值,我们常常输入一个0字,或者False; 其实也可以输入一个1字,或者true 。两者有什么区别呢?前者表示的是完整寻找,找不到就传回错误值#N/A;后者先是找一模一样的,找不到再去找很接近的值,还找不到也只好传回错误值#N/A。这对我们其实也没有什么实际意义,只是满足好奇而已,有兴趣的朋友可以去体验体验。
2.Lookup_value是一个很重要的参数,它可以是数值、文字字符串、或参照地址。我们常常用的是参照地址。用这个参数时,有三点要特别提醒:
A )参照地址的单元格格式类别与去搜寻的单元格格式的类别要一致,否则的话有时明明看到有资料,就是抓不过来。特别是参照地址的值是数字时,最为明显,若搜寻的单元格格式类别为文字,虽然看起来都是123,但是就是抓不出东西来的。
而且格式类别在未输入数据时就要先确定好,如果数据都输入进去了,发现格式不符,已为时已晚,若还想去抓,则需重新输入。
B )第二点提醒的,是使用时一个方便实用的小技巧,相信不少人早就知道了的。我们在使用参照地址时,有时需要将lookup_value的值固定在一个格子内,而又要使用下拉方式(或复制)将函数添加到新的单元格中去,这里就要用到“$”这个符号了,这是一个起固定作用的符号。比如说我始终想以D5格式来抓数据,则可以把D5弄成这样:$D$5,则不论你如何拉、复制,函数始终都会以D5的值来抓数据。
C) 用“&" 连接若干个单元格的内容作为查找的参数。在查找的数据有类似的情况下可以做到事半功倍。
3.Table_array是搜寻的范围,col_index_num是范围内的栏数。Col_index_num 不能小于1,其实等于1也没有什么实际用的。如果出现一个这样的错误的值#REF!,则可能是col_index_num的值超过范围的总字段数。
4. 在使用该函数时,lookup_value的值必须在table_array中处于第一列。
二.VLOOKUP 的错误值处理。
我们都知道,如果找不到数据,函数总会传回一个这样的错误值#N/A,这错误值其实也很有用的。比方说,如果我们想这样来作处理:如果找到的话,就传回相应的值,如果找不到的话,我就自动设定它的值等于0,那函数就可以写成这样:
=if(iserror(vlookup(1,2,3,0)),0,vlookup(1,2,3,0))
这句话的意思是这样的:如果VLOOKUP 函数返回的值是个错误值的话(找不到数据),就等于0,否则,就等于VLOOKUP 函数返回的值(即找到的相应的值)。
这里面又用了两个函数。
第一个是iserror 函数。它的语法是iserror(value),即判断括号内的值是否为错误值,如果是,就等于true ,不是,就等于false 。
第二个是if 函数,这也是一个常用的函数的,后面有机会再跟大家详细讲解。它的语法是if(条件判断式,结果1,结果2) 。如果条件判断式是对的,就执行结果1,否则就执行
结果2。举个例子:=if(D2=””, ”空的”, ”有东西”) ,意思是如D2这个格子里是空的值,就显示文字“空的”,否则,就显示“有东西”。(看起来简单吧?其实编程序,也就是这样子判断来判断去的。)
三.含有VLOOKUP 函数的工作表档案的处理。
一般来说,含有VLOOKUP 函数的工作表,如果又是在别的档案里抓取数据的话,档案往往是比较大的。尤其是当你使用的档案本身就很大的时候,那每次开启和存盘都是很受伤的事情。
有没有办法把文件压缩一下,加快开启和存盘的速度呢。这里提供一个小小的经验。 在工作表里,点击工具──选项──计算,把上面的更新远程参照和储存外部连结的勾去掉,再保存档案,则会加速不少,不信你可以试试。
下面详细的说一下它的原理。
1.含有VLOOKUP 函数的工作表,每次在保存档案时,会同时保存一份其外部连结的档案。这样即使在单独打开这个工作表时,VLOOKUP 函数一样可以抓取到数值。
2.在工作表打开时,微软会提示你,是否要更新远程参照。意思是说,你要不要连接最新的外部档案,好让你的VLOOKUP 函数抓到最新的值。如果你有足够的耐心,不妨试试。
3.了解到这点,我们应该知道,每次单独打开含有VLOOKUP 函数的工作表时,里面抓取外部档案的数值,只是上次我们存盘时保存的值。若要连结最新的值,必须要把外部档案同时打开。
VLOOKUP 函数我所了解的,也只是这些,大家有什么好的经验或有什么疑问,欢迎大家提出,一起探讨。
含义
返回向量或数组中的数值。函数 LOOKUP 有两种语法形式:向量和数组。函数 LOOKUP 的向量形式是在单行区域或单列区域(向量)中查找数值,然后返回第二个单行区域或单列区域中相同位置的数值;函数 LOOKUP 的数组形式在数组的第一行或第一列查找指定的数值,然后返回数组的最后一行或最后一列中相同位置的数值。 函数 LOOKUP 有两种语法形式:向量和数组。
编辑本段提示
LOOKUP_vector 的数值必须按升序排序:... 、-2、-1、0、1、2、... 、A-Z 、FALSE 、TRUE ;否则,函数 LOOKUP 不能返回正确的结果。文本不区分大小写。
编辑本段使用方法
(1)向量形式:公式为 = LOOKUP(lookup_value,lookup_vector,result_vector)
式中 lookup_value—函数LOOKUP 在第一个向量中所要查找的数值,它可以为数字、文本、逻辑值或包含数值的名称或引用;
lookup_vector—只包含一行或一列的区域lookup_vector 的数值可以为文本、数字或逻辑值;
result_vector—只包含一行或一列的区域其大小必须与 lookup_vector 相同。
(2)数组形式:公式为
= LOOKUP(lookup_value,array)
式中 array —包含文本、数字或逻辑值的单元格区域或数组它的值用于与 lookup_value 进行比较。
例如:LOOKUP(5.2,{4.2,5,7,9,10})=5。
注意:lookup_vector的数值必须按升序排列,否则函数LOOKUP 不能返回正确的结果。文本不区分大小写。如果函数LOOKUP 找不到lookup_value,则查找lookup_vector中小于或等于lookup_value的最大数值。如果lookup_value小于lookup_vector中的最小值,函数LOOKUP 返回错误值#N/A。
MATCH 函数
含义:返回指定数值在指定数组区域中的位置
语法:MA TCH(lookup_value, lookup_array, match_type)
lookup_value:需要在数据表(lookup_array)中查找的值。
lookup_array:可能包含有所要查找数值的连续的单元格区域。
match_type:为1时,查找小于或等于lookup_value的最大数值,lookup_array必须按升序排列:
为0时,查找等于lookup_value的第一个数值,lookup_array按任意顺序排列: 为-1时,查找大于或等于lookup_value的最小数值,lookup_array必须按降序排列。 举例:
A B
1 产品 项目个数
2 香蕉 25
3 柑橘 38
4 苹果 40
5 梨子 41
t
公式 叙述 (结果)
=MATCH(39,B2:B5,1) 因为没有完全符合的项目,所以会传回范围 B2:B5 中下一个较小的值 (38)。(2)
=MATCH(41,B2:B5,0) 范围 B2:B5 中 41 的位置。(4)
=MATCH(40,B2:B5,-1) 因为 B2:B5 不是依递减顺序排列,所以会传回错误。(#N/A) match 函数于vlookup 函数配合使用可以对vlookup 函数查找的结果进行容错处理。
三十五、HYPERLINK 函数
含义:
创建一个快捷方式(跳转),用来打开存储在网络服务器、Intranet 或internet 中的文件。 编辑本段二、格式:
其格式为:HYPERLINK(link_location,friendly_name).
其中:HYPERLINK 为函数名
link_location 为链接位置
friendly_name 为显示文本
编辑本段三、实例说明:
首先选定一个单元格,如图选定C2单元格,输入“=HYPERLINK(”则该函数被激活, 然后输入所要链接的位置,如图2 输入:“=HYPERLINK("\\学生存盘\学生存盘\电子班计算机存盘", ”
接下输入在单元格中所要显示的信息,如图输入:=HYPERLINK("\\学生存盘\学生存盘\电子班计算机存盘"," 打开学生存盘") ,则表示当该函数完成后,在C2单元格会显示“打开学生存盘”字样。如图3:
函数完成后的效果, 如图4:
以上操作,插入函数即宣告完成,下面来讲讲其使用。
首先将鼠标放到“打开学存盘”上看看效果, 如图5:
是不是就是出现要链接到的路信息以及单击鼠标可以跟踪链接的信息提示,好接下来用鼠标左击“打开学生存盘”,其效果如图6,系统就会沿着刚才输入的路径打开所要打开的文件。 讲到这里也不知道你会不会成功应用这个函数,要注意的是在这个函数链接路径设置的时候可能会有一点有麻烦,但是别怕,多试两次相信你一定会成功的。
祝你好运!
编辑本段四、常用格式说明
HYPERLINK(link_location,friendly_name)
其中第一个参数Link_location是超级链接的文件的路径和文件名,或要跳转的单元格地址。第二个参数是随意指定的字符串或某一单元格的值,是你希望在超级链接的单元格中显示的内容 。
常用格式有以下几种:
1、 链接到文件夹,点击打开指定的文件夹,如
=HYPERLINK("C:\My Documents","打开我的文档" )
2、 链接到指定的文件,点击打开指定的文件
如= HYPERLINK("C:\My Documents\Doc1.doc","打开Doc1" )
如与当前文件在一目录下,可以用以下公式
= HYPERLINK("Book1.xls"," 打开Book1" )
3、 链接当前工作表的指定位置,点击跳转到当前工作表指定的单元格 如=Hyperlink("#A100","跳到A100")
4、 当前工作薄中其他工作表的指定位置或区域
如= Hyperlink("#sheet2!A100","跳到SHEET2工作表A100")
如区域定义了名称,如定义名称X=sheet2!A10:B15,则以下公式或跳转到X 区域的并选定该区域
= Hyperlink("#X","跳到区域名称X")
等价= Hyperlink("#sheet2!A10:B15","跳到A10:B15") 5、 链接工作薄,并跳转到该工作表的指定位置,使用形式 同目录下的文件 =HYPERLINK("book2.xls#sheet2!a1"," 到BOOK2中Sheet2!A1") 不同目录下 =HYPERLINK("C:\My Documents\XLS\book2.xls#sheet2!a1"," 到BOOK2中Sheet2!A1")