EXCEL中数组函数运用范例

  工作簿内一共有两个工作表Sheet1和Sheet2,先说Sheei1,如下

  A   B   C

  货号 序号   名称

  101   1   车背带

  101   2   合前片

  101   3   合后片

  101   4   车手带

  101   5   车边片

  101   6   合前袋

  101   7   车后手带

  202   1   车前片链

  202   2   车前袋

  202   3   合包

  202   4   车后片

  202   5   车手垫

  202   6   合前袋

  表Sheet2如下:

  A   B   C

  货号 序号   名称

  101   5   [此单元格空]

  101   2   [此单元格空]

  101   3   [此单元格空]

  101   7   [此单元格空]

  202   3   [此单元格空]

  202   1   [此单元格空]

  要求根据Sheet2内容,查找Sheet1,在Sheet2的名称列填写入正确的内容。

  题目分析:

  根据要求,如果要在Sheet2某一行n填入正确的名称,首先需要在Sheet1找到这样的行:该行第一列内容等于Sheet2某行n第一列,该行第二列内容等于Sheet2某行n第二列。

  因为涉及到数据的查找,拟采用数组公式实现。

  1.首先定义名称:

  (定义名称使用菜单:插入-名称)

  dataA=OFFSET(Sheet1!$A$1,0,0,COUNTA(Sheet1!$A:$A),1)

  dataB=OFFSET(Sheet1!$B$1,0,0,COUNTA(Sheet1!$B:$B),1)

  这样做的好处是在于无论Sheet1添加了多少行,dataA始终包括A列有内容的行,这样比起直接使用A:A整列,要节约很多的计算时间。dataB同理。

  2.匹配条件

  先匹配A列,选中Sheet2!D2:D13(因为原始数据从2~13行),在编辑栏输入

  =IF(dataA=A2,1,0)

  用Ctrl+Shift+回车,这样可以看到凡是与Sheet2!A2匹配的Sheet1的行,在这里都变成了1,而不匹配的则是0。

  同理,在Sheet2!E2:E13输入

  =IF(dataB=B2,1,0)

  这样我们在D、E两列就得到了分别与Sheet2!A和Sheet2!B列匹配的数组。

  3.合并匹配条件

  我们需要的是两个条件的与运算,因此使用乘法是最好的,只有两个条件同时成立,1*1=1,否则两个乘数里面至少有1个为0,结果为0。

  well,在Sheet2!F2:F13中输入数组公式:

  =IF((dataA=A2)*(dataB=B2),1,0)

  如此一来,就得到了一个新的由1和0组成的数组,某元素对应Sheet1的行如果能够匹配,该元素为1,否则为0。

  4.检索行号

  有了这个数组,我们需要得到匹配出来的行号,因为数组是由若干0和一个1组成的,所以我们只需要使用MATCH函数,就可以得到与Sheet2!An匹配的Sheet1的行号。

  在Sheet2!G1输入

  =MATCH(1,IF((dataA=A2)*(dataB=B2),1,0),1)

  注意此处虽然仅仅是在一个单元格里面输入公式,但仍然是一个数组公式,需要使用Ctrl+Shift+Enter。

  结果就是Sheet1中匹配的行号。

  5.检索结果

  有了行号,检索结果就很容易了,我们使用INDIRECT函数。

  在Sheet2!C2输入数组公式:

  =INDIRECT("Sheet1!$C$" & MATCH(1,IF((dataA=A2)*(dataB=B2),1,0),1))

  注意依然使用Ctrl+Shift+Enter,正确的结果就出现了。

  对于下面的行,只需要拖动填充句柄复制公式就可以了。

  另外别忘了删除掉用来演示的D、E、F、G列的已经不再需要的公式。

分类:

  • Excel教程
时间: 2024-10-07 09:08:07

EXCEL中数组函数运用范例的相关文章

Excel中sumif函数的怎么使用

  Excel中sumif函数的使用方法 Excel中sumif函数的用法是根据指定条件对若干单元格.区域或引用求和. SUMIF函数的参数:range,criteria,sum_range 1)Range为条件区域,用于条件判断的单元格区域. 2)Criteria是求和条件,由数字.逻辑表达式等组成的判定条件.为确定哪些单元格将被相加求和的条件,其形式可以为数字.表达式或文 本.例如,条件可以表示为 32."32".">32" 或 "apples&

Excel中sumif函数的使用方法

一:excel sumif函数的用法介绍 Excel中sumif函数的用法是根据指定条件对若干单元格.区域或引用求和. SUMIF函数的参数:range,criteria,sum_range 1)Range为条件区域,用于条件判断的单元格区域. 2)Criteria是求和条件,由数字.逻辑表达式等组成的判定条件.为确定哪些单元格将被相加求和的条件,其形式可以为数字.表达式或文 本.例如,条件可以表示为 32."32".">32" 或 "apples&

Excel中countif函数的使用方法

  Excel中countif函数的使用方法          countif函数是一个计算个数的函数,通过countif函数,可以计算出计算区域中满足给定条件的单元格的个数.这个函数简单而运用广泛.下面,我们来学习一下Excel中countif函数的使用方法. countif函数有两种基础语法:range.criteria.range 是一个或多个要计数的单元格,其中包括数字或名称.数组或包含数字的引用.空值和文本值将被忽略. Criteria 为确定哪些单元格将被计算在内的条件,其形式可以为

Excel中averageif函数以及低版本的替代解法

  文章介绍excel中averageif函数的用法和实例,并给出2003低版本中averageif函数替代解法. Excel中averageif函数是2007版以后的版本新增加的一个条件求平均值的函数. 根据官方帮助说明,averageif函数是返回某个区域内满足给定条件的所有单元格的平均值. averageif函数的语法是:averageif(条件区域,条件,计算平均值的实际单元格) 我们以一个实际例子来学习Excel中averageif函数的使用方法. 上图,计算"1部"的平均销

php实现excel中rank函数功能的方法_php技巧

本文实例讲述了php实现excel中rank函数功能的方法.分享给大家供大家参考.具体分析如下: sql语句实现排名是像这样的如: 总分成绩为 195,180,180,161,名次分别为1,2,3,4,遇到并列的情况也是按照顺序的, 而Excel函数rank排名得到的结果是1,2,2,4,遇到并列跳过中间的3 下面的函数模拟的就是这种情况 函数如下(不知道有没有更好的实现方法): 公式为: 名次=总人数--比自己小的数的个数-这个分数重复次数+1(加上自己) 得到名次的数组再根据对应的id写入到

Excel中sumif函数用法

今天接着给大家来关于Excel中sumif函数用法的操作技巧,那么就有人问了,学会了Excel中sumif函数用法有什么作用呢,不要急,下面就请听小编一一给大家进行详细的讲解: 一.SUMIF函数介绍 SUMIF函数根据指定条件对若干单元格求和,该条件可以是数值.文本或表达式,可以应用在人事.工资和成绩统计中. 二.SUMIF函数用法 sumif函数语法是:SUMIF(range,criteria,sum_range) 第一个参数:Range为条件区域,用于条件判断的单元格区域. 第二个参数:C

Excel中if函数的使用方法

  Excel中if函数的使用方法           在执行真假值判断,根据逻辑计算的真假值,返回不同结果.可以使用函数 IF 对数值和公式进行条件检测.通俗的说,就是在Excel表格中在面临选择归类的时候,都可以通过if函数来区分. if函数的使用方法 打开所需软件Excel,直接在所需的单元格数据=if(条件,满足条件的结果,不满足条件的结果),当然整个if语句是支持嵌套的,比如可能是=if(条件1,满足条件的结果,if(条件2,满足条件的结果,不满足条件的结果))! 打开Excel,打开

Excel中VLOOKUP函数的应用

Excel是一个用的办公软件,是办公人员必备的.有的时候在用excel的时候需要加快工作效率利用到各种函数,今天小编给大家介绍Excel中VLOOKUP函数的应用.好多人对这个函数还是蛮陌生的吧.那么首先了解Excel中VLOOKUP函数代表什么意思? 就是纵向查找函数,它与LOOKUP函数和HLOOKUP函数属于一类函数,VLOOKUP是按列查找,最终返回该列所需查询列序所对应的值;HLOOKUP是按行查找的.语法包括:VLOOKUP(lookup_value,table_array,col_

在excel中eomonth函数有什么作用?

  在excel中eomonth函数有什么作用?eomonth函数的作用是返回指定日期之前或之后某月的最后一天.那么怎么使用呢?下面小编就为大家详细介绍一下,来看看吧! 方法/步骤 首先我们打开一个样表. 插入eomonth函数.函数的格式是=EOMONTH(start_date, months) start_date参数是必需参数,是输入日期格式的数值,或引用单元格. months参数是指定之前或之后的月数参数. 如果显示返回值是序列值,则需要更改单元格格式为日期格式.可以看到结果显示的不是之