首页 理论教育 常用函数示例,助您快速掌握计算机应用基础

常用函数示例,助您快速掌握计算机应用基础

时间:2023-10-27 理论教育 版权反馈
【摘要】:1.IF如果指定条件的计算结果为TRUE,IF函数将返回某个值;如果该条件的计算结果为FALSE,则返回另一个值。

常用函数示例,助您快速掌握计算机应用基础

1.IF

如果指定条件的计算结果为TRUE,IF函数将返回某个值;如果该条件的计算结果为FALSE,则返回另一个值。例如,如果A1大于10,公式=IF(A1>10,"大于10","不大于10")将返回“大于10;如果A1小于等于10,则返回“不大于10”。

1)语 法

IF函数语法具有下列参数:

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

(2)value_if_true:可选。logical_test参数的计算结果为TRUE时所要返回的值。例如,如果此参数的值为文本字符串“预算内”,并且logical_test参数的计算结果为TRUE,则IF函数返回文本“预算内”。如果logical_test的计算结果为TRUE,并且省略value_if_true参数(即logical_test参数后仅跟一个逗号),IF函数将返回0。若要显示单词TRUE,应对value_if_true参数使用逻辑值TRUE。

(3)value_if_false:可选。logical_test参数的计算结果为FALSE时所要返回的值。例如,如果此参数的值为文本字符串“超出预算”,并且logical_test参数的计算结果为FALSE,则IF函数返回文本“超出预算”。如果logical_test的计算结果为FALSE,并且省略value_if_false参数(即value_if_true参数后没有逗号),则IF函数返回逻辑值FALSE。若logical_test的计算结果为FALSE,并且省略value_if_false参数的值(即在IF函数中,value_if_true参数后没有逗号),则IF函数返回值0。

2)说 明

(1)最多可以使用64个IF函数作为value_if_true和value_if_false参数进行嵌套,以构造更详尽的测试(请参阅示例3,这是嵌套IF函数的一个示例)。或者,若要测试多个条件,应考虑使用LOOKUP、VLOOKUP、HLOOKUP或CHOOSE函数(请参阅示例4,这是LOOKUP函数的一个示例)。

(2)如果IF的任意参数为数组,则在执行IF语句时,将计算数组的每一个元素。

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

3)示 例

表10-48 IF函数示例1

续表

表10-49 IF函数示例2

示例3(表10-50)演示了如何嵌套IF语句。在每个公式中,第4个IF语句同时也是第3个IF语句的value_if_false参数。同样,第3个IF语句是第2个IF语句的value_if_false参数,第2个IF语句是第1个IF语句的value_if_false参数。例如,如果第1个logical_test参数(Average>89)的计算结果为TRUE,则返回“A”;如果第1个logical_test参数的计算结果为FALSE,则计算第2个IF语句,以此类推。也可以将其他函数用作参数。

可以使用如图10-14所示的关键字指定数字的字母等级。

图10-14 数字的字母等级

表10-50 IF函数示例3

续表

在示例4(表10-51)中,使用的是LOOKUP函数而不是IF函数,因为要测试13个条件。与IF函数相比,LOOKUP函数更易于理解和维护。

表10-51 IF函数示例4

续表

2.RANK、RANK.AVG、RANK.EQ

返回一个数字在数字列表中的排位。数字的排位是其大小与列表中其他值的比值(如果列表已排过序,则数字的排位就是它当前的位置)。

RANK函数已被新函数RANK.AVG和RANK.EQ取代,新函数可以提供更高的准确度,而且它们的名称可以更好地反映出其用途。仍然提供此函数是为了保持与Excel早期版本的兼容性。但是,如果不需要后向兼容性,则应考虑从现在开始使用新函数,因为它们可以更加准确地描述其功能。

1)语 法

RANK函数语法具有下列参数:

(1)number:必需。需要找到排位的数字。

(2)ref:必需。数字列表数组或对数字列表的引用。Ref中的非数值型值将被忽略。

(3)order:可选。一个数字,指明数字排位的方式。

①如果order为0(零)或省略,Excel对数字的排位为基于ref按照降序排列的列表。

②如果order不为零,Excel对数字的排位为基于ref按照升序排列的列表。

2)说 明

(1)函数RANK对重复数的排位相同。但重复数的存在将影响后续数值的排位。例如,在一列按升序排列的整数中,如果整数10出现两次,其排位为5,则11的排位为7(没有排位为6的数值)。

(2)由于某些原因,用户可能使用考虑重复数字的排位定义。在前面的示例中,用户可能要将整数10的排位改为5.5。这可通过将下列修正因素添加到按排位返回的值来实现。该修正因素对于按照升序计算排位(顺序=非零值)或按照降序计算排位(顺序=0或被忽略)的情况都是正确的。

重复数排位的修正因素:

在下列示例中,RANK(A2,A1:A5,1)等于3。修正因素是(5+1-2-3)/2=0.5,考虑重复数排位的修改排位是3+0.5=3.5。如果数字仅在ref出现一次,由于不必调整RANK,因此修正因素为0。

事实上,新函数RANK.EQ与RANK函数的功能相同,而RANK.AVG函数是加入了修正因素的排位函数。

3)示 例

表10-52 RANK与RANK.AVG函数示例

3.LOOKUP

LOOKUP函数可从单行或单列区域或者从一个数组返回值。LOOKUP函数具有两种语法形式:向量形式和数组形式。

本质上,LOOKUP采用相同的“二分查找”算法来处理这两种形式,这种算法具有极高的查找速度。因此,为了使LOOKUP函数能够正常运行,必须按升序排列查询的数据。如果无法使用升序排列数据,应考虑使用VLOOKUP、HLOOKUP或MATCH函数。(www.xing528.com)

向量是只含一行或一列的区域。LOOKUP的向量形式在单行区域或单列区域(称为“向量”)中查找值,然后返回第二个单行区域或单列区域中相同位置的值。当要指定包含要匹配的值的区域时,应使用LOOKUP函数的这种形式。LOOKUP函数的另一种形式自动在第一行或第一列中查找。

此处仅介绍LOOKUP函数的向量形式。

1)语 法

LOOKUP函数向量形式语法具有下列参数:

(1)lookup_value:必需。LOOKUP在第一个向量中搜索的值。Lookup_value参数可以是数字、文本、逻辑值、名称或对值的引用。

(2)lookup_vector:必需。只包含一行或一列的区域。lookup_vector中的值可以是文本、数字或逻辑值。

注意:lookup_vector中的值必须以升序排列:…,-2,-1,0,1,2,…,A-Z,FALSE,TRUE。否则,LOOKUP可能无法返回正确的值。大写文本和小写文本是等同的。

(3)result_vector:可选。只包含一行或一列的区域。result_vector参数必须与lookup_vector大小相同。

2)说 明

(1)如果LOOKUP函数找不到lookup_value,则它与lookup_vector中小于或等于lookup_value的最大值匹配。

(2)如果lookup_value小于lookup_vector中的最小值,则LOOKUP会返回错误值(#N/A)。

3)示 例

表10-53 LOOKUP函数示例1

对于详细的测试或超出函数嵌套限制的测试,还可以使用LOOKUP函数来代替IF函数。下面的示例(表10-54)使用一个数字数组为测试分数指定字母等级。

注意,虽然参数中使用了数组,但仍然可以用向量形式的语法来理解示例。本质上,区域向量与数组向量(单行或单列的数组)在LOOKUP函数中具有相同的处理方法。

表10-54 LOOKUP函数示例2

续表

4.VLOOKUP

可以使用VLOOKUP函数搜索某个单元格区域的第一列,然后返回该区域相同行上任何单元格中的值。例如,假设区域A2:C10中包含员工列表,员工的ID号存储在该区域的第一列,如图10-15所示。

图10-15 VLOOKUP函数数据示例

如果知道员工的ID号,则可以使用VLOOKUP函数返回该员工所在的部门或其姓名。若要获取38号员工的姓名,可以使用公式=VLOOKUP(38,A2:C10,3,FALSE)。此公式将搜索区域A2:C10的第一列中的值38,然后返回该区域同一行中第三列包含的值作为查询值“郑建杰”。

VLOOKUP函数名中的V表示垂直方向(Vertically Lookup),HLOOKUP函数名中的H表示水平方向(Horizontally Lookup),二者的算法相似,只是方向不同。当比较值位于所需查找的数据的左边一列时,可以使用VLOOKUP函数;当比较值位于数据表的首行,并且要查找下面给定行中的数据时,应使用HLOOKUP函数。

1)语 法

VLOOKUP函数语法具有下列参数:

(1)lookup_value:必需。要在表格或区域的第一列中搜索的值。lookup_value参数可以是值或引用。如果为lookup_value参数提供的值小于table_array参数第一列中的最小值,则VLOOKUP将返回错误值(#N/A)。

(2)table_array:必需。包含数据的单元格区域。可以使用对区域(例如,A2:D8)或区域名称的引用。table_array第一列中的值是由lookup_value搜索的值。这些值可以是文本、数字或逻辑值。文本不区分大小写

(3)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!)。

(4)range_lookup:可选。一个逻辑值,指定希望VLOOKUP查找精确匹配值还是近似匹配值。

①若range_lookup为TRUE或被省略,则返回精确匹配值或近似匹配值。如果找不到精确匹配值,则返回小于lookup_value的最大值。

②若range_lookup参数为FALSE,VLOOKUP将只查找精确匹配值。若table_array的第一列中有两个或更多值与lookup_value匹配,则使用第一个找到的值。若找不到精确匹配值,则返回错误值(#N/A)。

③若range_lookup为TRUE或被省略,则必须按升序排列table_array第一列中的值,否则VLOOKUP可能无法返回正确的值;否则,不需要对table_array第一列中的值进行排序。

2)说 明

(1)在table_array的第一列中搜索文本值时,应确保table_array第一列中的数据不包含前导空格、尾部空格、非打印字符或者未使用不一致的直引号('或")与弯引号(‘或“)。否则,VLOOKUP可能返回不正确或意外的值。

(2)在搜索数字或日期值时,应确保table_array第一列中的数据未存储为文本值。否则,VLOOKUP可能返回不正确或意外的值。

(3)如果range_lookup为FALSE且lookup_value为文本,则可以在lookup_value中使用通配符——问号(?)和星号(*)。问号匹配任意单个字符,星号匹配任意字符序列。如果要查找实际的问号或星号,应在字符前键入波形符(~)。

3)示 例

示例1(表10-55)搜索大气特征表的“密度”列以查找“黏度”和“温度”列中对应的值(该值是在海平面0℃或1个大气压下对空气的测定)。

表10-55 VLOOKUP函数示例1

续表

示例2(表10-56)搜索婴幼儿用品表中“货品ID”列并在“成本”和“涨幅”列中查找与之匹配的值,以计算价格并测试条件。

表10-56 VLOOKUP函数示例2

示例3(表10-57)搜索员工表的ID列并查找其他列中的匹配值,以计算年龄并测试错误条件。

表10-57 VLOOKUP函数示例3

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈