推荐使用:Excel数据采集软件(免费下载,像Excel一样极速上手,可灵活自定义的企业管理软件)
Match格式
Match ( x, r,f )
其中x是要查找的数值,r可以是一个数组常量,或某列(或行)连续的单元格区域,其中可能包含有要查找的x。f用于指定match的查找方式,它可以是-1,0或1。
功能
Match(x,r,f)表示的意思是:在数组或连续的单元格区域r中查找x,并返回x在r中的位置编号。当f为0是,match进行精确查找,当f为1(或-1)时,match进行模糊查找。
说明
f=-1时,r必须按降序排列,查找大于或等于 x的最小数值
f=0时,r 不必排序,查找等于x的第一个数值
f=1时,r必须按升序排列,查找小于或等于x的最大数值
Index函数使用讲解
格式
Index(Area,r,c,n)
其中,Area是1个或多个单元格区域;r是某行的行序号,c是某列的列序号,该函数返回指定的行与列交叉处的单元格引用。如果r等于0,则返回整行单元格引用,如果c等于0,则返回整列单元格引用。
当Area包括多个单元格区域时,n=1就表示结果来自于Area中的第1个区域,n=2表示结果来源于第2个单元格区域……。如果省略n表示结果来源于第1个单元格区域。
功能
Index(Area,r,c,n)的功能是返回Area中第n个单元格区域中的r行,c列交叉处的单元格引用。
案例讲解
前面提到的案例2.1,利用Index和Match函数结合起来可以很快速的进行解决,如下图2.2。

图2.2 蔬菜单价查询
三
D函数查询数据的方法
如果能把Excel里面某个区域里面的数据看成是数据库中一张表,在Excel里面对数据进行数据库里面SQL一样的操作该多好。
在Excel中,数据库是指每列数据都有标题的数据表。Excel提供大约12个专用数据库函数来简化这种数据表的数据统计和数据查找工作,这些函数都以D开头,所以也称为D函数。
D函数有相同的调用形式,相同参数表,格式如下:
Dname(database,field,criteria)
其中的Dname是函数名,它可以是Dsum、Daverage、Dget、Dcount、Dcounta、Dmax、Dmin等。各函数的功能如其名字所示,Dsum求总和,Daverage求平均数,Dget查找数据,Dcount统计数字个数,Dcounta统计文本和数据的个数,Dmax求最大数,Dmin求最小数。
database是一个单元格区域,要求该区域中的每列数据都必须有标题;field是database区域中某列数据的列标题(称为字段,出现在字符串中);criteria称为条件区域,它与高级筛选条件区域的含义和构造方法完全相同。
【案例3.1】某校某专业共有224名学生,某次期末考试的“数据库系统应用”课程的成绩表如图所示。现在要查找每位学生的成绩,希望输入学号后,就能够得到该生的各种详细数据,如图3.1的J1:M8区域所示。此外,还希望对各班的考试情况进行简单的统计分析,能够随时查看各班的考试人数,最高成绩,高低成绩,及缺考人数等,如图3.1的J10:N17区域所示。

图3.1 班级成绩分析
对于对各班的考试情况进行简单的统计分析,如果是在数据库里面,就是一段简单的SQL代码,如统计上机平均成绩:
select avg(上机成绩)
from database
where 班级=’0320302’;
在Excel里面,这个就可以借助D函数实现异曲同工之效。
案例3.1解决方案如下:
(1)在K13中输入计算上机平均成绩的公式:
=DAVERAGE(A4:H227,"上机成绩",J12:J13)
(2)在M13输入计算综合平均成绩的公式:
=DAVERAGE(A4:H227,"综合成绩",J12:J13)
(3)在K15输入计算缺考人数的公式:
=DCOUNTA(A4:H227,"期末考试成绩",J12:J13)-DCOUNT(A4:H227,"期末考试成绩",J12:J13)
(4)在M15输入计算最高成绩的公式:
=DMAX(A4:H227,"期末考试成绩",J12:J13)
(5)在K17输入计算最低成绩的公式:
=DMIN(A4:H227,"期末考试成绩",J12:J13)
(6)在M17输入计算考试人数的公式:
=DCOUNT(A4:H227,"淘汰率为4%下的成绩",J12:J13)