执行查询数据表中的数据使用什么函数

如题所述

在日常业务处理中,经常需要根据特定条件查询定位数据或按照特定条件筛选数据。

例如,在一列数据中搜索某个特定值首次出现的位置、查找某个值并返回与这个值对应的另一个值、筛选满足条件的数据记录等。

今天的文章就来介绍一些常用的查找表中数据的技巧。


CHOOSE函数

CHOOSE函数可以根据用户指定的自然数序号返回与其对应的数据值、区域引用或嵌套函数结果。使用该函数最多可以根据索引号从254个数值中选择一个。

语法结构:

CHOOSE(index_num,value1,value2,...),也可以简单理解为CHOOSE(索引,数据1,数据2,......)

参数:

index_num:必需参数,用来指定返回的数值位于列表中的次序,该参数必须为1~254的数字,或者为公式或对包含1~254某个数字的单元格的引用。如果index_num为小数,在使用前将自动被截尾取整。

value1,value2,...:value1是必需参数,后续值是可选的。

valuel、value2等是要返回的数值所在的列表。

这些值参数的个数在1~254之间,函数CHOOSE会基于index_num,从这些值参数中选择一个数值或一项要执行的操作。

如果index_num为1,函数CHOOSE返回valuel;如果index_num为2,函数CHOOSE返回value2,依次类推。

如果index_num小于1或大于列表中最后一个值的序号,函数将返回错误值【#VALUE!】。

参数可以为数字、单元格引用、已定义名称、公式、函数或文本。

CHOOSE函数一般不单独使用,它常常与其他函数嵌套在一起发挥更大的作用,提高我们的工作效率。

VLOOKUP函数虽然具有纵向查找的功能,但其所查找内容必须在区域的第一列,即自左向右查找。

但与CHOOSE函数嵌套使用后,就可以实现自由查找了。

虽然CHOOSE函数和IF函数相似,结果只返回一个选项值,但IF函数只计算满足条件所对应的参数表达式,而CHOOSE函数则会计算参数中的每一个选择项后再返回结果。

例如,要在员工档案表中根据身份证号码查找员工姓名和岗位,就可使用VLOOKUP函数和CHOOSE函数来实现,具体操作步骤如下。

1.输入计算公式。

在A14:D14单元格区域中输入表字段,并对格式进行设置,在A15单元格中输入员工身份证号码,在C15单元格中输入公式【=VLOOKUP($A15,CHOOSE({1,2,3},$G$2:$G$12,$B$2:$B$12,$D$2:$D$12),2,0)】。



2.复制公式。

按【Enter】键返回第一个结果后,使用Excel的自动填充功能,横向拖动鼠标返回员工对应的岗位。



3.更改公式返回正确结果。


但D15返回的岗位结果并不正确,这时需要将D15单元格公式中VLOOKUP函数的第3个参数【2】更改为【3】,即可返回正确的值。




HLOOKUP函数

HLOOKUP函数可以在表格或数值数组的首行沿水平方向查找指定的数值,并由此返回表格或数组中指定行的同一列中的其他数值。

语法结构:

HLOOKUP(lookup_value,table_array,row_index_num,[range_lookup]),也可以理解为HLOOKUP(要查找的值,查找区域,返回哪一行的值,精确查找/模糊查找)

参数:

lookup_value:必需参数,用于设定需要在表的第一行中进行查找的值,可以是数值,也可以是文本字符串或引用。

table_array:必需参数,用于设置要在其中查找数据的数据表,可以使用区域或区域名称的引用。

row_index_num:必需参数,在查找之后要返回匹配值的行序号。

range_lookup:可选参数,是一个逻辑值,用于指明函数在查找时是精确匹配还是近似匹配。

若为TRUE或被忽略,则返回一个近似的匹配值(如果没有找到精确匹配值,就返回一个小于查找值的最大值)。

如果该参数为FALSE,该函数就查找精确的匹配值。

如果这个函数没有找到精确的匹配值,就会返回错误值【#N/A】。0表示精确匹配值,1表示近似匹配值。

例如,某公司的上班类型分为多种,不同的类型对应的工资标准也不一样,所以在计算工资时,需要根据上班类型来统计,那么可以先使用HLOOKUP函数将员工的上班类型对应的工资标准查找出来,具体操作步骤如下。

1.输入计算公式。

选择【8月】工作表中的E2单元格,输入公式【=HLOOKUP(C2,工资标准!$A$2:$E$3,2,0)*D2】,按【Enter】键,即可计算出该员工当月的工资。



2.查看计算结果。

使用Excel的自动填充功能,计算出其他员工当月的工资。



对于文本的查找,该函数不区分大小写。

如果lookup_value参数是文本,它就可以包含通配符*和?,从而进行模糊查找。

如果row_index_num参数值小于1,就返回错误值【#VALUE!】;如果大于table_array的行数,就返回错误值【#REF!】。

如果range_lookup的值为TRUE,那么table_array第一行的数值必须按升序排列,即从左到右为...-2,-1,0,1,2...A-Z,FALSE,TRUE;否则,函数将无法给出正确的数值。若range_lookup为FALSE,则table_array不必进行排序。


LOOKUP函数

LOOKUP函数可以从单行或单列区域(称为“向量”)中查找值,然后返回第二个单行区域或单列区域中相同位置的值。

语法结构:

LOOKUP(lookup_value,lookup_vector,[result_vector]),也可以简单理解为LOOKUP(查找值,查找范围(必须升序排列),返回值范围)

参数:

lookup_value:必需参数,用于设置要在第一个向量中查找的值,可以是数字、文本、逻辑值、名称或对值的引用。

lookup_vector:必需参数,只包含需要查找值的单列或单行范围,其值可以是文本、数字或逻辑值。

result_vector:可选参数,只包含要返回值的单列或单行范围,它的大小必须与lookup_vector相同。

在使用LOOKUP函数的向量形式时,lookup_vector中的值必须以升序顺序放置,否则LOOKUP函数可能无法返回正确的值。

在该函数中不区分大小写。

如果在lookup_vector中找不到lookup_value,就匹配其中小于该值的最大值;如果lookup_value小于lookup_vector中的最小值,就返回错误值【#N/A】。

例如,在产品销量统计表中,记录了近年来各种产品的销量数据,现在需要根据产品编号查找相关产品2018年的销量,使用LOOKUP函数进行查找的具体操作步骤如下。

1.输入计算公式。

在A14:B15单元格区域中进行合适的格式设置,并输入相应文本,选择B15单元格,输入公式【=LOOKUP(A15,A2:A11,D2:D11)】。



2.查看产品销量。

在A15单元格中输入相应产品的编号,在B15单元格中即可查看到该产品在2018年的销量。


温馨提示:答案为网友推荐,仅供参考
相似回答