如何正确应用OFFSET函数
从下图说明来认识一下excel中OFFSET函数的用法。
在C7单元格,输入公式:=SUM(OFFSET(C2,1,2,3,1)),得到结果为18。这个公式是什么意思呢?就是计算C2单元格靠下1 行并靠右2 列的3 行 1 列的区域的和。
可以在公式编辑栏,选中OFFSET(C2,1,2,3,1) 部分,按F9键抹黑,得到运算结果为:{3;8;7},此时公式变为:=SUM({3;8;7})。从上图可以得知,就是利用OFFSET 函数来得到一个新的区域,然后使用SUM函数求出这个新区域的和。
下面,介绍OFFSET函数的用法。
Offset函数主要应用在单元格区域的定位和统计方面,一般做数据透视表定义名称都需要用到Offset函数。Offset函数属于查找与引用类的函数。
OFFSET函数以指定的引用为参照系,通过给定偏移量得到新的引用。返回的引用可以为一个单元格或单元格区域,并可以指定返回的行数或列数。
OFFSET函数的语法是:OFFSET(reference,rows,cols,height,width),按照中文的说法即是:OFFSET(引用区域,行数,列数,[高度],[宽度])
其中的参数意义如下:
Reference:作为偏移量参照系的引用区域。Reference必须为对单元格或相连单元格区域的引用;否则,函数OFFSET 返回错误值#VALUE!。
Rows:相对于偏移量参照系的左上角单元格,上(下)偏移的行数。如果使用 5 作为参数Rows,则说明目标引用区域的左上角单元格比reference 低5 行。行数可为正数(代表在起始引用的下方)或负数(代表在起始引用的上方)。
Cols:相对于偏移量参照系的左上角单元格,左(右)偏移的列数。如果使用 5 作为参数Cols,则说明目标引用区域的左上角的单元格比reference 靠右 5 列。列数可为正数(代表在起始引用的右边)或负数(代表在起始引用的左边)。
Height:高度,即所要返回的引用区域的行数。Height 必须为正数。
Width:宽度,即所要返回的引用区域的列数。Width 必须为正数。
学习使用OFFSET函数需要注意以下几点:
第一,如果行数和列数偏移量超出工作表边缘,函数OFFSET 返回错误值
#REF!。
第二,如果省略height 或width,则假设其高度或宽度与reference 相同。
第三,函数OFFSET 实际上并不移动任何单元格或更改选定区域,它只是返回一个引用。
第四,函数OFFSET 可用于任何需要将引用作为参数的函数。
下面,结合几个实例学习OFFSET函数的应用。
OFFSET函数通常与其它函数来嵌套使用。下图所示的区域为实例的源数据区域。
OFFSET函数应用第一题:如下图所示,计算上图B列姓名下面所有单元格的数量。
在F3单元格输入函数:=OFFSET(B2,0,0,COUNTA(B:B)-1),全选公式,按F9键,得到:={"张三";"王五";"李四";"闻一";"张二";"江八";"张六";"赵六";"钱子";"赵一";"孙六";"周末"},我们可以数一下个数,得到12个。
提示:COUNTA 函数就是返回参数列表中非空值的单元格个数。
接下来,在F5单元格输入公式:=COUNTA(OFFSET(B2,0,0,COUNTA(B:B)-1)),得多结果为12。
OFFSET函数应用第二题:如下图所示,计算最后的平均成绩。分三种情况:第一,求最后一位、最后三位、最后五位的平均成绩。
单击F8单元格,可以看到有一个向下的箭头,单击箭头可以看到有1、3、5三个选项。
在F9单元格输入公式:=AVERAGE(OFFSET(C1,COUNTA(C:C)-1,,-F8)),就可以得到F8单元格所显示的平均成绩。
公式分析:首先使用OFFSET函数来计算出行数的值,然后使用AVERAGE来除以OFFSET部分得到的值,就得到了最后几个的平均成绩。
公式中,其中COUNTA(C:C)部分是统计C列的非空单元格个数为13,从而可以得到COUNTA(C:C)-1的值为12,即从C1单元格向下偏移12行。
另外-F8的意思是:减去F8单元格中的值。
当改变F8单元格的值,就可以得到其余行数的平均成绩。
OFFSET函数应用第三题:如下图所示,要求统计出班级=H3,成绩>=I3的人数。
H3和I3单元格的值是条件。单击这两个单元格,右下角有一个向下的三角形,单击此按钮,可以显示选择其余的条件值。比如上图所示,就是统计出班级为3版,成绩在>=70分的人数有几人。
本题的统计结果,可以在I5单元格输入公式:
=COUNTIF(OFFSET(C1,MATCH(H3,A2:A13,0),,COUNTIF(A2:A13,H3)),">="&I3),得到结果。
此题需要使用到COUNTIF和MATCH函数。COUNTIF函数是统计个数的函数,在第二期的技术讲座专门讲解了COUNTIF函数的使用,不会的朋友,可以参考文章《2011年第2期技术分享:COUNTIF函数经典应用技巧》。
公式分析:OFFSET的第二参数使用MATCH来精确查找位置。偏移的行数就由MATCH(H3,A2:A13,0)来控制,高度由COUNTIF(A2:A13,H3)来控制。然后把OFFSET函数的值用COUNTIF来计算符合条件的有多少个。
在第4期讲座中,简单老师从零讲解了OFFSET函数的使用,本文最主要通过一个实例来讲解OFFSET函数在定义名称方面的运用。
下图所示的工作表命名为:名称实例,其中A1:C13区域为源数据,本讲座要完成的作业是通过源数据,使用OFFSET函数定义一个叫“AA”的名称,然后完成下图1、2、3个班级的实考人数、总分、最高分、优秀数、平均分的统计。
本题最核心的一个问题就是定义AA名称。
单击菜单“插入”——“名称”——“定义”,在“名称”框中输入名称“AA”,然后在下面的引用位置输入:=OFFSET(名称实例!$A$1,MATCH(名称实例!$D17,名称实
例!$A$2:$A$13,),2,COUNTIF(名称实例!$A$2:$A$13,名称实例!$D17)) 引用位置输入公式的含义,解释如下。把上面这个公式分成两部分来查看,就很容易了。
第一部分:MATCH(名称实例!$D17,名称实例!$A$2:$A$13,),这个值是OFFSET 的第二个参数,使用MATCH来精确查找位置。代表偏移的行数就由MATCH部分的值来控制。这个公式的意思就是查找D17单元格的值在A2:A13区域中的位置。
MATCH函数也是一个查找函数。MATCH 函数会返回中匹配值的位置而不是匹配值本身。在使用时,输入单值它就返回单值,输入多值就返回多值。MATCH函数在众多的数字中只查找第一次出现的,后来出现的它返回的也是第一次出现的位置。MATCH函数一般都和别的函数嵌套使用。
第二部分:COUNTIF(名称实例!$A$2:$A$13,名称实例!$D17),这个值是OFFSET 的第四个参数,高度就由COUNTIF的值来控制。
定义完名称之后,在E17单元格输入公式:=COUNTA(AA),然后下拉,就可以求出各个班级的实考人数。
在F17单元格输入公式:=SUM(AA),然后下拉,就可以求出各个班级的总分。
在G17单元格输入公式:=MAX(AA),然后下拉,就可以求出各个班级的最分。
在J17单元格套用COUNTIF函数的公式:countif(区域,条件),输入公式:
=COUNTIF(AA,">=85"),然后下拉,就可以求出各个班级的优秀人数。在这个公式中,我们假定优秀人数的分数为大于等于85分。
在K17单元格输入公式:=AVERAGE(AA),然后下拉,就可以求出各个班级的平均分。
INDEX和MATCH函数嵌套应用 主讲老师:简单老师 第一部分:INDEX和MATCH函数用法介绍 第一,MATCH函数用法介绍 MATCH函数也是一个查找函数。MATCH 函数会返回匹配值的位置而不是匹配值本身。在使用时,MATCH函数在众多的数字中只查找第一次出现的,后来出现的它返回的也是第一次出现的位置。 MATCH函数语法:MATCH(查找值,查找区域,查找模式) 可以通过下图来认识MATCH函数的用法: =MATCH(41,B2:B5,0),得到结果为4,返回数据区域B2:B5 中41 的位置。 =MATCH(39,B2:B5,1),得到结果为2,由于此处无正确匹配,所以返回数据区域B2: B5 中(38) 的位置。注:匹配的查找值,MATCH 函数会查找小于或等于(39)的最大值。 =MATCH(40,B2:B5,-1),得到结果为#N/A,由于数据区域B2:B5 不是按降序排列,所以返回错误值。 第二,INDEX函数用法介绍 INDEX函数的功能就是返回指定单元格区域或数组常量。如果同时使用参数行号和列号,函数INDEX返回行号和列号交叉处的单元格中的值。
INDEX函数语法:INDEX(单元格区域,行号,列号) 可以通过下图来认识INDEX函数的用法: =INDEX(A1:C6,2,3),意思就是返回A1:C6中行号是2 列号是3 ,即第二行与第三列的交叉处,也就是C2单元格的值,为84。 第二部分:INDEX和MATCH函数应用案例介绍 下图工作表所示的是一个产品的型号和规格的价格明细表。通过这个表的数据,进行一些对应的查询操作。
第一,单击B5单元格下拉按钮,选择型号,然后在B6单元格完成型号所在行号的查询。如下图所示: 随意选择一个型号,比如A0110,然后在B6单元格输入公式:=MATCH($B$5,$D$4: $D$12,0),得到结果1。 公式解释:用MATCH函数查找B5单元格这个型号在D4:D12区域中对应的位置。其中的0参数可以省略不写。MATCH函数中0代表精确查找,1是模糊查找。 第二,单击B9单元格下拉按钮,选择规格,然后在B10单元格完成规格所在列号的查询。如下图所示: 随意选择一个规格,比如101,然后在B10单元格输入公式:=MATCH(B9,E3:G3,0),得到结果1。 第三,查询B6和B10单元格所对应的价格。 价格的查询,可以使用index函数完成,输入公式:=INDEX(E4:G12,B6,B10)可以得到结果为78。嵌套上面的match函数,可以将公式改为:=INDEX(E4:G12,MATCH(B5,D4: D12,0),MATCH(B9,E3:G3,0))。大家可以变化C3中的型号来看看结果是否正确。 通过下面工作表的源数据,利用index函数实现行列汇总查询。
首先,认识一下OFFSET函数。 从下图说明来认识一下excel中OFFSET函数的用法。 在C7单元格,输入公式:=SUM(OFFSET(C2,1,2,3,1)),得到结果为18。这个公式是什么意思呢?就是计算C2单元格靠下1 行并靠右2 列的3 行 1 列的区域的和。 可以在公式编辑栏,选中OFFSET(C2,1,2,3,1) 部分,按F9键抹黑,得到运算结果为:{3;8;7},此时公式变为:=SUM({3;8;7})。从上图可以得知,就是利用OFFSET 函数来得到一个新的区域,然后使用SUM函数求出这个新区域的和。 下面,介绍OFFSET函数的用法。 Offset函数主要应用在单元格区域的定位和统计方面,一般做数据透视表定义名称都需要用到Offset函数。Offset函数属于查找与引用类的函数。 OFFSET函数以指定的引用为参照系,通过给定偏移量得到新的引用。返回的引用可以为一个单元格或单元格区域,并可以指定返回的行数或列数。 OFFSET函数的语法是:OFFSET(reference,rows,cols,height,width),按照中文的说法即是:OFFSET(引用区域,行数,列数,[高度],[宽度]) 其中的参数意义如下: Reference:作为偏移量参照系的引用区域。Reference必须为对单元格或相连单元格区域的引用;否则,函数OFFSET 返回错误值#VALUE!。 Rows:相对于偏移量参照系的左上角单元格,上(下)偏移的行数。如果使用 5 作为参数Rows,则说明目标引用区域的左上角单元格比reference 低5 行。行数可为正数(代表在起始引用的下方)或负数(代表在起始引用的上方)。 Cols:相对于偏移量参照系的左上角单元格,左(右)偏移的列数。如果使用 5 作为参数Cols,则说明目标引用区域的左上角的单元格比reference 靠右 5 列。列数可为正数(代表在起始引用的右边)或负数(代表在起始引用的左边)。 Height:高度,即所要返回的引用区域的行数。Height 必须为正数。 Width:宽度,即所要返回的引用区域的列数。Width 必须为正数。 学习使用OFFSET函数需要注意以下几点: 第一,如果行数和列数偏移量超出工作表边缘,函数OFFSET 返回错误值 #REF!。
Excel中index和match函数的应用实例 原文出处https://www.doczj.com/doc/a14830568.html,/50281/400990 查询函数一直是Excel中常被用到的一种函数,本篇来介绍一下index与match在实际工作中的应用实例。先看一下这个Excel工作簿。要求:将“用户分析”工作表中机房名称列中输入函数,向下拖动使其自动选择对应“号段检索”工作表中备注的机房名称。
其中故障号码为“号段检索”表中起始、结束号段中的码号。因此这里需要利用index 与match函数来完成检索号段归属机房查询工作。 想到了index与match函数了吧,可以先回顾一下。 -------------------------------------INDEX------------------------------------ index函数的意义:返回指定行列交叉处引用的单元格。 公式:=index(reference,row_num,column_num,area_num) reference指的是要检索的范围; row_num指的是指定返回的行序号,如超出指定检索范围,返回错误值#REF!; column_num指的是指定返回的列序号,如超出指定检索范围,返回错误值#REF!; area_num指的是返回该区域中行和列的交叉域。可省略,默认1。如小于1时返回错误值#VALUE! -------------------------------------MATCH------------------------------------ match函数的意义:返回指定方式下查找指定查找值(可以是数字、文本或逻辑值)在查找范围1行或1列的位置。 公式:=match(lookup_value,lookup_array,match_type) lookup_value指指定查找值; lookup_array指的是1行或1列的被查找连续单元格区域。 match_type指的是查找方式,1或省略指查找小于或等于lookup_value的最大值,lookup_array必须为升序排列,否则无法得到正确结果。 0指查找等于lookup_value的第一个数值,如果不是第一个数值则返回#N/A -1指查找大于或等于lookup_value的最小值,lookup_array必须为降序,否则无法得到正确结果。 ------------------------------------------------------------------------------- 那么在这里是用match函数来定位“用户分析”表中故障号码在“号段检索”起始号段或结束号段的所在行序号。 如下图:=MATCH(用户分析!K2,号段检索!B:B,1)。但是为什么检索出来的行号会是错误值呢?
目录 一、IF函数——————————————————————————————————2 二、ASC函数—————————————————————————————————4 三、SEARCH函数——————————————————————————————4 四、CONCATENATE函数———————————————————————————4 五、EXACT函数———————————————————————————————5 六、find函数—————————————————————————————————5 七、PROPER函数——————————————————————————————7 八、LEFT函数————————————————————————————————7 九、LOWER函数———————————————————————————————7 十、MID函数————————————————————————————————8 十一、REPT函数———————————————————————————————8 十二、Replace函数——————————————————————————————9 十三、Right函数———————————————————————————————10 十四、UPPER函数——————————————————————————————10 十五、SUBSTITUTE函数———————————————————————————10 十六、VALUE函数——————————————————————————————12 十七、WIDECHAR函数———————————————————————————12 十八、AND函数———————————————————————————————12 十九、NOT函数———————————————————————————————13 二十、OR函数————————————————————————————————13 二十一、COUNT函数—————————————————————————————14 二十二、MAX函数——————————————————————————————15 二十三、MIN函数——————————————————————————————15 二十四、SUMIF函数—————————————————————————————16 二十五、OFFSET函数————————————————————————————17 二十六、ROW函数——————————————————————————————20 二十七、INDEX 函数————————————————————————————21 二十八、LARGE函数—————————————————————————————22 二十九、ADDRESS函数————————————————————————————23 三十、Choose函数——————————————————————————————24 三十一、HLOOKUP函数———————————————————————————24 三十二、VLOOKUP函数———————————————————————————26 三十三、LOOKUP函数————————————————————————————29 三十四、MATCH函数————————————————————————————29 三十五、HYPERLINK函数——————————————————————————30 三十六、ROUND函数————————————————————————————31 三十七、TREND函数—————————————————————————————32
match函数的使用方法 match函数的实例我相信许多人对Excel表应该很熟悉吧,那么你们知道“match”函数的用法吗?下面是我为大家整理的“match函数的使用方法及实例”,欢迎参阅。想要了解更多关于函数实用方法的内容,实用资料栏目。 match函数的使用方法 match函数的实例 match函数的使用方法: MATCH函数是EXCEL主要的查找函数之一,该函数通常有以下几方面用途: (1)确定列表中某个值的位置; (2)对某个输入值进行检验,确定这个值是否存在某个列表中; (3)判断某列表中是否存在重复数据; (4)定位某一列表中最后一个非空单元格的位置。 查找文本值时,函数 MATCH 不区分大小写字母。 match函数的含义:返回目标值在查找区域中的位置。 match函数的语法格式: =match(lookup_value, lookup_array, match_type) =Match(目标值,查找区域,0/1/-1) 方法详解: 1.MATCH函数语法解析及基础用法 MATCH用于返回要查找的数据在区域中的相对位置。下面介绍她的语法和参数用法。 语法 MATCH(lookup_value,lookup_array, [match_type]) 用通俗易懂的方式可以表示为
MATCH(要查找的数据, 查找区域, 查找方式) MATCH 函数语法具有下列参数: 第一参数:要在lookup_array中匹配的值。例如,如果要在电话簿中查找某人的电话号码,则应该将姓名作为查找值,但实际上需要的是电话号码。 第一参数可以为值(数字、文本或逻辑值)或对数字、文本或逻辑值的单元格引用。 第二参数:要搜索的单元格区域。 第三参数:可选。数字 -1、0 或 1。match_type参数指定 Excel 如何将lookup_value与lookup_array中的值匹配。此参数的默认值为1。 下表介绍该函数如何根据 match_type参数的设置查找值。 对于非高级用户可以略过这部分直接看后面的示例,因为99%的情况下,第三参数只用0就足以应付日常工作需求啦! 2.MATCH函数根据模糊条件查找 上一节中咱们学习了MATCH函数最基础的用法(按条件完全匹配查询),但在工作中很多时候会遇到查询条件并不那么明确,只能根据部分已知条件模糊查询。 MATCH函数查找特殊符号的方法 上一节教程中,我们学习了MATCH函数按照模糊条件查询的方法,但其只适用于普通字符的字符串,当要查找的数据包含一些特殊字符(比如星号*问号?波浪符~)时,原公式结果就会出错了。 3. MATCH函数提取最后一个文本数据的行号 之前几节的学习中,我们掌握了MATCH的基本查找方法,根据模糊条件查找的方法以及查找内容包含特殊符号的处理方法。
用OFFSET函数定义一个动态区域 我们可以给一个单元格或区域定义一个名称,以便在公式中引用。如果区域不是固定的而是一个动态的范围,我们也可以给它定义名称,以后在公式中引用的就是一个动态区域。例如我们可以在A列中定义一个动态区域,是从A1单元格开始的动态连续区域,其包含的行数不固定,操作步骤如下: 1.单击菜单“插入→名称→定义”,打开“定义名称”对话框。 2.在“在当前工作簿中的名称”下的文本框中输入要定义的名称,如“数据A”,在“引用位置”下的文本框中输入 “=OFFSET(Sheet1!$A$1,0,0,COUNTA(Sheet1!$A:$A),1)”,单击“确定”。
公式说明:用OFFSET()函数定义一个动态区域,其参数分别是 Sheet1!$A$1:为作为参照系的引用单元格,是Sheet1表中的A1单元格; 第一个0:偏移的行数; 第二个0:偏移的列数; COUNTA(Sheet1!$A:$A):区域高度,即区域中包含的行数,用COUNTA()函数计算A列中非空单元格个数,由这个公式可以看出,如果A列中有多个数据且不连续,将会返回错误结果; 最后一个参数1:区域宽度,即区域中包含的列数;
动态数据展示的实现 在工作表Sheet1中的单元格A1、A2、A3中分别输入“月份”、“销售额”、“销售汇总”,及相应的月份和销售额数据,请按以下步骤完成余下操作。 编辑推荐阅读 ● Excel函数应用之数学和三角函数 ● Excel函数应用之函数简介 1.单击主选单“插入/名称/定义”命令,弹出“定义名称”对话框,在“在当前工作簿中的名称”文本框中输入“Month”,在“引用位置”文本框中输入公式: “=offset($A$2,0,0,count($A:$A),1)”,单击“添加”按钮;重复上述步骤,在“在当前工作簿中的名称”文本框中输入“Sales”,在“引用位置”文本框中输入公式: “=offset($B$2,0,0,count($B:$B),1)”,单击“确定”按钮。 2.在C2单元格输入公式“=SUM(Sales)”,本文充分利用了“名称”的作用。 3.鼠标单击A2,再单击工具栏中的“图表向导”按钮,在“图表向导—4步骤之1—图表类型”对话框中,选择“XY散点图”的第二个图表子类型,单击“下一步”按钮。 4.在“图表向导—4步骤之2—图表源数据”对话框中,单击“系列”标签,修改“X值(X):”文本框里的内容为“=Sheet1!Month”,修改“Y值(Y):”文本框里的内容为 “=Sheet1!Sales”。单击“完成”按钮。 5.单击图表,清除图表的“网格线”、“绘图区背景格式”,至此完成。 现在,不管你怎样修改区域A3、B3以下两列的数据,添加/删除,销售汇总和图表都将随着你输入的数据集的变化而动态变化(注:不能删除A2、B2单元格中的数据)。 几点说明 对步骤1中所使用的函数,主要有两个:OFFSET函数和COUNT函数,就是这两个函数的配合实现了动态数据的展示。 COUNT函数的参数是一个单元格区域引用。此时,它只统计引用中的数字,引用的空单元格将被忽略。利用函数 COUNT 可以计算单元格区域引用中数字项的个数,作为OFFSET函数的相对偏移量参数使用。 OFFSET函数实现动态区域的扩展。此函数的功能是以指定的引用为参照系,通过给定偏移量得到新的引用。返回的引用可以为一个单元格或单元格区域,并可以指定返回的行数或列数。 OFFSET函数的语法是:OFFSET(reference,rows,cols,height,width),这里参数“Reference”代表作为偏移量参照系的引用区域,Reference 必须是对单元格或相连单元格区域的引用。否则,函数 OFFSET 返回错误值 #VALUE!。参数“Rows”表示相对于偏移量
MATCH 函数 全部显示本文介绍Microsoft Office Excel 中MATCH 函数的 公式语法和用法。 说明 MATCH 函数可在单元格区域中搜索指定项,然后返回该项在单元格区域中的相对位置。例如,如果单元格区域A1:A3 包含值5、25 和38,则以下公式: =MATCH(25,A1:A3,0) 会返回数字2,因为值25 是单元格区域中的第二项。如果需要获得单元格区域中某个项目的位置而不是项目本身,则应该使用MATCH 函数而不是某个LOOKUP 函数。例如,可以使用MATCH 函数为INDEX 函数的row_num 参数提供值。 语法 MATCH(lookup_value, lookup_array, [match_type]) MATCH 函数语法具有以下参数:
?lookup_value必需。需要在lookup_array 中查找的值。例如,如果要在电话簿中查找某人的电话号码,则应该将姓名作为查找值,但实际上需要的是电话号码。 lookup_value 参数可以为值(数字、文本或逻辑 值)或对数字、文本或逻辑值的单元格引用。 ?lookup_array必需。要搜索的单元格区域。 ?match_type可选。数字-1、0 或1。match_type 参数指定Excel 如何在lookup_array 中查找 lookup_value 的值。此参数的默认值为1。 下表介绍该函数如何根据match_type 参数的设 置查找值。 MATCH_TYPE 行为 1 或被省略MATCH 函数会查找小于或等于 lookup_value 的最大值。lookup_array 参 数中的值必须按升序排列,例如:...-2, -1, 0, 1, 2, ..., A-Z, FALSE, TRUE。 0 MATCH 函数会查找等于lookup_value 的第一个值。lookup_array 参数中的值可
电子表格常用函数公式及用法 1、求和公式: =SUM(A2:A50) ——对A2到A50这一区域进行求和; 2、平均数公式: =AVERAGE(A2:A56) ——对A2到A56这一区域求平均数; 3、最高分: =MAX(A2:A56) ——求A2到A56区域(55名学生)的最高分;4、最低分: =MIN(A2:A56) ——求A2到A56区域(55名学生)的最低分; 5、等级: =IF(A2>=90,"优",IF(A2>=80,"良",IF(A2>=60,"及格","不及格"))) 6、男女人数统计: =COUNTIF(D1:D15,"男") ——统计男生人数 =COUNTIF(D1:D15,"女") ——统计女生人数 7、分数段人数统计: 方法一: 求A2到A56区域100分人数:=COUNTIF(A2:A56,"100") 求A2到A56区域60分以下的人数;=COUNTIF(A2:A56,"<60") 求A2到A56区域大于等于90分的人数;=COUNTIF(A2:A56,">=90") 求A2到A56区域大于等于80分而小于90分的人数; =COUNTIF(A1:A29,">=80")-COUNTIF(A1:A29," =90")
求A2到A56区域大于等于60分而小于80分的人数; =COUNTIF(A1:A29,">=80")-COUNTIF(A1:A29," =90") 方法二: (1)=COUNTIF(A2:A56,"100") ——求A2到A56区域100分的人数;假设把结果存放于A57单元格; (2)=COUNTIF(A2:A56,">=95")-A57 ——求A2到A56区域大于等于95而小于100分的人数;假设把结果存放于A58单元格;(3)=COUNTIF(A2:A56,">=90")-SUM(A57:A58) ——求A2到A56区域大于等于90而小于95分的人数;假设把结果存放于A59单元格; (4)=COUNTIF(A2:A56,">=85")-SUM(A57:A59) ——求A2到A56区域大于等于85而小于90分的人数; …… 8、求A2到A56区域优秀率:=(COUNTIF(A2:A56,">=90"))/55*100 9、求A2到A56区域及格率:=(COUNTIF(A2:A56,">=60"))/55*100 10、排名公式: =RANK(A2,A$2:A$56) ——对55名学生的成绩进行排名; 11、标准差:=STDEV(A2:A56) ——求A2到A56区域(55人)的成绩波动情况(数值越小,说明该班学生间的成绩差异较小,反之,说明该班存在两极分化); 12、条件求和:=SUMIF(B2:B56,"男",K2:K56) ——假设B列存放学生的性别,K列存放学生的分数,则此函数返回的结果表示求该班
在Excel中,我们经常会需要从某些工作表中查询有关的数据复制到另一个工作表中。比如我们需要把学生几次考试成绩从不同的工作表中汇总到一个新的工作表中,而这几个工作表中的参考人数及排列顺序是不完全相同的,并不能直接复制粘贴。此时,如果使用Excel的VLOOKUP、INDEX或者OFFSET函数就可以使这个问题变得非常简单。我们以Excel 2007为例。 图1 假定各成绩工作表如图 1所示。B列为,需要汇总的项目“总分”及“名次”位于H列和I列(即从B列开始的第7列和第8列)。而汇总表则如图2所示,A列为列,C、D两列分别为要汇总过来的第一次考试成绩的总分和名次。其它各次成绩依次向后排列。
图2 一、 VLOOKUP函数 我们可以在“综合”工作表的C3单元格输入公式“=VLOOKUP($B3,第1次!$B$1:$I$92,7,FALSE)”,回车后就可以将第一位同学第一次考试的总分汇总过来了。 把C3单元格公式复制到D3单元格,并将公式中第三个参数“7”改成“8”,回车后,就可以得到该同学第一次考试名次。 选中C3:D3这两个单元格,向下拖动填充句柄到最后就可以得到全部同学的总分及名次了。是不是很简单呀?如图3所示。
VLOOKUP函数的用法是这样的:VLOOKUP(参数1,参数2,参数3,参数4)。“参数1”是“要查找谁?”本例中B3单元格,那就是要查找B3单元格中显示的人名。“参数2”是“在哪里查找?”本例中“第1次!$B$1:$I$92”就是告诉Excel在“第1次”工作表的B1:I92单元格区域进行查找。“参数3”是“找第几列的数据?”本例中的“7”就是指从“第1次”工作表的B列开始起,第7列的数据,即H列。本例中“参数4”即“FALSE”是指查询方式为只查询精确匹配值。 该公式先在“第1次”工作表的B!:I92单元格区域的第一列(即B1:B92单元格区域)查找B3单元格数据,找到后,返回该数据所在行从B列起第7列(H列)的数据。所以,将参数3改成“8”以后,则可以返回I列的数据。 由此可以看出,使用VLOOKUP函数时,参数1的数据必须在参数2区域的第一列中。否则是不可以查找的。 二、INDEX函数 某些情况下,VLOOKUP函数可能会无用武之地,如图4所示。“综合”工作表中,列放到了A 列,而B列要求返回该同学所在的班级。但我们看前面的工作表就知道了,“班级”列是位于“”列前面的。所以,此时我们不可能使用VLOOKUP函数来查找该同学的班级。而INDEX函数就正可以一试身手。
显示满足条件的所有数据—VLookup函数、IF函数、Row函数、Small函数、Index函数、Match函数、IFERROR函数、表结构的组合使用 2009年03月20日, 1:26 下午 (4人投票, 平均: 5.00 out of 5) 一个简单的示例:查找Excel工作表中的重复数据 记得一位网友曾问:要求找出Excel工作表中的重复数据并显示在工作表相应的单元格中。我给出了一个数组公式供参考,但不是太符合要求,因为这个数组公式虽然找出了重复数据,但是如果将数组公式向下复制时超出了出现重复数据的数量,会在相应单元格中显示错误。不久,这位朋友获得了更好的一个公式。这个公式非常好,完美地解决了这类问题,因此,我将其转贴于此,供有兴趣的朋友参考。 先看看下图: 在列A和列B中存在一系列数据(表中只是示例,可能还有更多的数据),要求找出某人(即列A中的姓名)所对应的所有培训记录(即列B中的数据)。也就是说,在单元格E1中输入某人的姓名后,下面会自动显示这个人所有的培训记录。 我们知道,Excel的LOOKUP系列函数能够很方便地实现查找,但是对于查找后返回一系列的结果,这类函数无能为力,因此只能联合其它函数来实现。 这里,在方法一中使用了INDEX函数、SMALL函数、IF函数和ROW函数,在方法二中还使用了Excel 2007中新增的IFERROR函数。 方法一: ?选择单元格E3; ?输入公式: =INDEX(B:B,SMALL(IF($A$2:$A$25=$E$1,ROW($A$2:$A$25),65536),ROW( 1:1))) & “” 然后同时按下Ctrl+Shift+Enter键,即输入数组公式。
EXCEL中MATCH函数的使用 MATCH函数返回在指定方式下与指定数值匹配的数组中元素的相应位置。如果需要找出匹配元素的位置而不是匹配元素本身,则应该使用MATCH 函数而不是LOOKUP 函数。语法 MATCH(lookup_value,lookup_array,match_type) Lookup_value 为需要在数据表中查找的数值。 Lookup_value 为需要在Look_array 中查找的数值。例如,如果要在电话簿中查找某人的电话号码,则应该将姓名作为查找值,但实际上需要的是电话号码。 Lookup_value 可以为数值(数字、文本或逻辑值)或对数字、文本或逻辑值的单元格引用。 Lookup_array 可能包含所要查找的数值的连续单元格区域。Lookup_array 应为数组或数组引用。 Match_type 为数字-1、0 或1。Match-type 指明Microsoft Excel 如何在lookup_array 中查找lookup_value。 如果match_type 为1,函数MATCH 查找小于或等于lookup_value 的最大数值。Lookup_array 必须按升序排
列:...、-2、-1、0、1、2、...、A-Z、FALSE、TRUE。 如果match_type 为0,函数MATCH 查找等于lookup_value 的第一个数值。Lookup_array 可以按任何顺序排列。 如果match_type 为-1,函数MATCH 查找大于或等于lookup_value 的最小数值。Lookup_array 必须按降序排列:TRUE、FALSE、Z-A、...、2、1、0、-1、-2、...,等等。 如果省略match_type,则假设为1。 说明: 函数MATCH 返回lookup_array 中目标值的位置,而不是数值本身。例如,MATCH("b",{"a","b","c"},0) 返回2,即“b”在数组{"a","b","c"} 中的相应位置。 查找文本值时,函数MATCH 不区分大小写字母。 如果函数MATCH 查找不成功,则返回错误值#N/A。 如果match_type 为0 且lookup_value 为文本,lookup_value 可以包含通配符、星号(*) 和问号(?)。星号可以匹配任何字符序列;问号可以匹配单个字符。 示例:
MATCH函数有两方面的功能,两种操作都返回一个位置值。 一是确定区域中的一个值在一列中的准确位置,这种精确的查询与列表是否排序无关。 二是确定一个给定值位于已排序列表中的位置,这不需要准确的匹配. 语法结构为:MATCH(lookup_value,lookup_array,match_type) lookup_value为要搜索的值。 lookup_array:要查找的区域(必须是一行或一列)。 match_type:匹配形式,有0、1和-1三种选择:"0"表示一个准确的搜索。"1"表示搜索小于或等于查换值的最大值,查找区域必须为升序排列。"-1"表示搜索大于或等于查找值的最小值,查找区域必须降序排开。以上的搜索,如果没有匹配值,则返回#N/A。 比如:有一列数据:A1:A7 分别时A B C D E F G ,C1的值为F 这个时候D1输入=match(c1,a1:a7,0) 返回值就是6("F"在A1:A7中的行号) 这是基本的原理 经常和INDEX()函数一起使用! 比如:和上表一样,B1:B7为10 20 30 40 50 60 70 =index(B1:B7,MATCH(C1,A1:A7,0),0)就能返回“F”对应的B列的值60 INDEX可以实现反向查找,比VLOOKUP用法更加灵活 INDEX用于返回表格或区域中的数值或对数值的引用。 函数INDEX() 有两种形式:数组和引用。数组形式通常返回数值或数值数组;引用形式通常返回引用。 (1)INDEX(array,row_num,column_num) 返回数组中指定单元格或单元格数组的数值。Array为单元格区域或数组常数。Row_num为数组中某行的行序号,函数从该行返回数值。Column_num为数组中某列的列序号,函数从该列返回数值。需注意的是Row_num 和column_num 必须指向array 中的某一单元格,否则,函数INDEX 返回错误值#REF!。(2)INDEX(reference,row_num,column_num,area_num) 返回引用中指定单元格或单元格区
OFFSET函数详解 说起OFFSET函数,真的是像雾像雨又像风,从复杂的数据汇总、到数据透视表再到高级动态图表,都离不开OFFSET函数的默默付出。 通过OFFSET函数,可以生成数据区域的动态引用,这个引用再作为半成品,通过后续的处理加工,就可以为图表和透视表提供动态的数据源、为其他函数生成特定的引用了。 首先,咱们说说这个函数的作用,微软的帮助文件是这样描述的: 以指定的引用为参照系,通过给定偏移量返回新的引用。 瞧瞧,这么简单的几句话,让人家怎么能猜透你的心思嘛。 这个函数有5个参数: 第一个参数是基点 第二个参数是要偏移几行,正数向下,负数向上。 第三个参数是要偏移几列,正数向右,负数向左。 第四个参数是新引用几行。 第五个参数是新引用几列。 如果不使用第四个和第五个参数,新引用的区域就是和基点一样的大小。 如果使用下面这个公式: =OFFSET(C3,4,2,4,3) 就是以C3为基点,向下偏移4行,向右偏移2列,新引用的行数是4行,新引用的列数是3列,最终得到对E7:G10单元格区域的引用。 当然,仅仅得到引用是没啥用处的,咱们的目的是把OFFSET函数得到的引用作为一个半成品,再通过其他方法进行再加工。 这么说还是有点抽象啊,再来一个形象一点的: OFFSET函数就像是一个鬼子小分队,从据点董家庄(C3)出动,顺着大路向南走4里(C7)
拐弯儿再向东2里,这时候就到马家河子(E7)了 鬼子队长说了,我要以马家河子(E7)这个地方开始,再占领一片地盘。有多大呢?向南4里,向东3里。 吆西,结果就是E7:G10单元格区域了。
简单认识了OFFSET函数,咱们再用一个动态图表的制作,来说说OFFSET函数的实际应用。OFFSET函数和动态图表之间,属于是“见不得人”的关系。 所谓动态图表,就是能根据指定的条件,自动变化图表数据源,使图表能够按照我们指定的规则,动态显示数据中的重点关注部分。 说“见不得人”,是指不能在图表中直接使用OFFSET函数,而是要将OFFSET函数先定义成名称,然后在图表中使用自定义名称作为数据源。 看下面这个题目: 这个销售流水记录中,每天都要不断的添加数据。现在要制作一个图表,仅展示最近7天的销售状况。 首先,在【公式】选项卡下,单击【定义名称】,分别定义两个名称: 日期=OFFSET($A$1,COUNT($A:$A),0,-7) 销售额=OFFSET($B$1,COUNT($A:$A),0,-7)
1、ABS函数 函数名称:ABS 主要功能:求出相应数字的绝对值。 使用格式:ABS(number) 参数说明:number代表需要求绝对值的数值或引用的单元格。 应用举例:如果在B2单元格中输入公式:=ABS(A2),则在A2单元格中无论输入正数(如100)还是负数(如-100),B2中均显示出正数(如100)。 特别提醒:如果number参数不是数值,而是一些字符(如A等),则B2中返回错误值“#V ALUE!”。 2、AND函数 函数名称:AND 主要功能:返回逻辑值:如果所有参数值均为逻辑“真(TRUE)”,则返回逻辑“真(TRUE)”,反之返回逻辑“假(FALSE)”。 使用格式:AND(logical1,logical2, ...) 参数说明:Logical1,Logical2,Logical3……:表示待测试的条件值或表达式,最多这30个。 应用举例:在C5单元格输入公式:=AND(A5>=60,B5>=60),确认。如果C5中返回TRUE,说明A5和B5中的数值均大于等于60,如果返回FALSE,说明A5和B5中的数值至少有一个小于60。 特别提醒:如果指定的逻辑条件参数中包含非逻辑值时,则函数返回错误值“#V ALUE!”或“#NAME”。 3、A VERAGE函数 函数名称:A VERAGE 主要功能:求出所有参数的算术平均值。 使用格式:A VERAGE(number1,number2,……) 参数说明:number1,number2,……:需要求平均值的数值或引用单元格(区域),参数不超过30个。 应用举例:在B8单元格中输入公式:=A VERAGE(B7:D7,F7:H7,7,8),确认后,即可求出B7至D7区域、F7至H7区域中的数值和7、8的平均值。 特别提醒:如果引用区域中包含“0”值单元格,则计算在内;如果引用区域中包含空白或字符单元格,则不计算在内。 4、COLUMN 函数 函数名称:COLUMN 主要功能:显示所引用单元格的列标号值。 使用格式:COLUMN(reference) 参数说明:reference为引用的单元格。 应用举例:在C11单元格中输入公式:=COLUMN(B11),确认后显示为2(即B列)。 特别提醒:如果在B11单元格中输入公式:=COLUMN(),也显示出2;与之相对应的还有一个返回行标号值的函数——ROW(reference)。 5、CONCA TENA TE函数 函数名称:CONCA TENA TE 主要功能:将多个字符文本或单元格中的数据连接在一起,显示在一个单元格中。 使用格式:CONCA TENA TE(Text1,Text……) 参数说明:Text1、Text2……为需要连接的字符文本或引用的单元格。 应用举例:在C14单元格中输入公式:=CONCA TENA TE(A14,"@",B14,".com"),确认后,即可将A14单元格中字符、@、B14单元格中的字符和.com连接成一个整体,显示在 C14单元格中。 特别提醒:如果参数不是引用的单元格,且为文本格式的,请给参数加上英文状态下的双引号,如果将上述公式改为:=A14&"@"&B14&".com",也能达到相同的目的。 6、COUNTIF函数 函数名称:COUNTIF 主要功能:统计某个单元格区域中符合指定条件的单元格数目。 使用格式:COUNTIF(Range,Criteria)
Excel利用Match函数和INDEX函数实现动态查找 一、小编上篇文章讲了Vlookup函数,这篇文章介绍Match函数和INDEX函数,这三个函数在Excel中号称查找函数三剑客,在查询数据时可以起到事半功倍的效果。这三个函数要灵活灵用,这就要看朋友们要达到什么目的。二、Match函数和INDEX函数,一般是组合使用单独使用比较少,Match函数可以返回指定内容所在的位置,而Index又可以根据指定位置查询到位置所对应的数据,相互辅助可以返回指定位置相关联的数据。下图是准备演示的数据:三、先了解这两个函数的含义,对我们的灵活应用的必须的。MATCH函数(返回指定内容所在的位置),返回值一般相对于数据源的所在行数。 MATCH(lookup-value,lookup-array,match-type) 小编理解:Match(查找值,数据源,精确或模糊查找)lookup-value:表示要在区域或数组中查找的值,可以是直接输入的数组或单元格引用。lookup-array:表示可能包含所要查找的数值的连续单元格区域,应为数组或数组引用。match-type:表示查找方式,用于指定精确查找(查找区域无序排列)或模糊查找(查找区域升序排列)。取值为-1、1、0 。其中0为精确查找。INDEX 函数(返回制定位置中的内容) INDEX(array,row-num,column-num)小编理解:Index(数据源,
行,列) 行或者列指的是相对于数据源定的。array:要返回值的单元格区域或数组。row-num:返回值所在的行号。column-num:返回值所在的列号。四、下图小编首先把月份制作成了下拉菜单,这样方便选择就不用手动输入查找值了。下拉菜单的介绍上几篇有过介绍,就不在这赘述啦,有不了解的朋友可以看看小编关于下拉菜单的介绍。 五、单击公式-->插入函数选择INDEX函数。 按下图进行设置: 六、对Match函数进行相应的设置: 七、销售数量查询的函数设置好,后面流水的函数同理设置即可。八、 完成后就可以通过选择月份来查看相对应的数据,Match和Index函数的应用比较灵活,Index函数有两种模式,这只是其中一种,Match函数也可以根据参数的不同可达到不同的目的。小编讲的只是其中一种,希望可以给朋友们带来一些帮助和启发。
INDEX和MATCH函数用法介绍 一、MATCH函数用法介绍 MATCH函数也是一个查找函数。MATCH 函数会返回匹配值的位置而不是匹配值本身。在使用时,MATCH函数在众多的数字中只查找第一次出现的,后来出现的它返回的也是第一次出现的位置。 MATCH函数语法:MATCH(查找值,查找区域,查找模式) 查找模式:0或省略代表精确查找,1是模糊查找。 可以通过下图来认识MATCH函数的用法: =MATCH(41,B2:B5,0),得到结果为4,返回数据区域 B2:B5 中 41 的位置。 =MATCH(39,B2:B5,1),得到结果为2,由于此处无正确匹配,所以返回数据区域 B2:B5 中(38) 的位置。注:匹配的查找值,MATCH 函数会查找小于或等于(39)的最大值。 =MATCH(40,B2:B5,-1),得到结果为#N/A,由于数据区域 B2:B5 不是按降序排列,所以返回错误值。 二、INDEX函数用法介绍 INDEX函数的功能就是返回指定单元格区域或数组常量。如果同时使用参数行号和列号,函数INDEX返回行号和列号交叉处的单元格中的值。 INDEX函数语法:INDEX(单元格区域,行号,列号) 可以通过下图来认识INDEX函数的用法:
=INDEX(A1:C6,2,3),意思就是返回A1:C6中行号是2 列号是3 ,即第二行与第三列的交叉处,也就是C2单元格的值,为84。 三、INDEX和MATCH函数应用案例介绍 下图工作表所示的是一个产品的型号和规格的价格明细表。通过这个表的数据,进行一些对应的查询操作。 第一,单击B5单元格下拉按钮,选择型号,然后在B6单元格完成型号所在行号的查询。如下图所示: 随意选择一个型号,比如A0110,然后在B6单元格输入公式:=MATCH($B$5,$D$4:$D$12,0),得到结果1。 公式解释:用MATCH函数查找B5单元格这个型号在D4:D12区域中对应的位置。其中的0参数可以省略不写。MATCH函数中0代表精确查找,1是模糊查找。
index+match函数组合在excel中的应用我们结合如图的表格来学习index+match函数组合在excel中的应用: (下面的数据可以复制到excel里进行同步练习)
在学习之前我们首先需要了解index和match的作用,对于初次接触这两个函数的朋友来说,通过生活中的例子去理解会更容易。 回想在上学的时候,我们都有过站队的经历,将一个班的同学分四列,每列20人,也就是4列20行的一个方队,那么我们只要知道了某一个同学在第几行第几列,就可以唯一确定这个同学,对于上面这个表也是类似,例如我们需要知道国10的金牌数,那么只要知道国10在第几行,金牌在第几列,那么很容易确定国10的金牌数是多少。就上图而言,红色范围的区域为B2:E21,国10处于这个范围的第10行,金牌处于这个范围的第一列,那么用index来确定国10的金牌数就可以写成=INDEX(B2:E21,10,1)。 可以看到,国10的金牌数通过公式得到的结果为0,这和我们观察的结果是一致的。那么我们把公式改成 =INDEX(B2:E21,5,3),再看看又得到什么结果呢? 结果是6,这个6代表什么意思呢?通过刚才的解释,应该可以理解是B2:E21这个范围内第5行第3列的数据,具体含义就是国5的铜牌数。 通过以上两个例子不难看出index这个函数的用法,=INDEX(范围,行,列)就是这个函数的基本结构。 但是很快发现一个问题,如果行和列都要我们自己去数的话,那么不是太麻烦了吗?如果可以根据需要自动确定行和列,该有多好。这时候就需要match上场了。下面我们根据这个表格的例子来看看match的作用。 简单来说,match就是确定某个数据在一行或者一列的位置,举个例子来看:国17在国这一列的第几行,用match来写就是=MATCH(I1,A2:A21),或者=MATCH(I1,A2:A21,0),从下面两个图看出来结果是一样的。 那么两种写法有什么区别呢?这里涉及到一个比较重要的知识点,就是模糊匹配和精确匹配,其实=MATCH(I1,A2:A21)的完整写法是=MATCH(I1,A2:A21,1),对于match这个函数来说,基本结构是MATCH(查找值,范围,查找方式)这里的查找方式有三种,用0,1,-1来区别,如果我们要找的数据在范围里是存在的,那么三种方式没有区别,所以可以简写为MATCH(查找值,区域),关于模糊匹配和精确匹配不在这里解释了,刚才看的例子是针对一列里的情况,那么针对一行的情况也是类似的,看下面的例子: