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列的已经不再需要的公式。

(0)

相关推荐

  • excel中index函数数组形式的作用

    小编致力于为大家奉献最有效的,让大家能够解决掉问题,但是大家也都知道,每个人遇到的情况都是不一样的,大家在看小编的同时,除了跟随操作,也需要自己的思考,举一反三的解决问题,这样才会变得更加有内涵,成为 ...

  • Excel 中sumif函数用法以及使用实例介绍

    excel sumif函数的用法介绍 Excel中sumif函数的用法是根据指定条件对若干单元格、区域或引用求和。 sumif函数语法是:SUMIF(range,criteria,sum_range) ...

  • Excel中SMALL函数实例使用方法

    Excel中SMALL函数的用法是:返回数据集中第 k 个最小值。使用此函数可以返回数据集中特定位置上的数值。 SMALL函数的语法是:SMALL(array,k) SMALL函数的参数说明: 第一, ...

  • Excel中sumif函数的使用方法

    一:excel sumif函数的用法介绍 Excel中sumif函数的用法是根据指定条件对若干单元格、区域或引用求和。 SUMIF函数的参数:range,criteria,sum_range 1)Ra ...

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

    文章介绍excel中averageif函数的用法和实例,并给出2003低版本中averageif函数替代解法。 Excel中averageif函数是2007版以后的版本新增加的一个条件求平均值的函数。 ...

  • Excel中sumif函数的怎么使用

    Excel中sumif函数的使用方法 Excel中sumif函数的用法是根据指定条件对若干单元格.区域或引用求和. SUMIF函数的参数:range,criteria,sum_range 1)Rang ...

  • geomean函数怎么使用?实例详解excel中GEOMEAN函数用法

    geomean什么意思?excel中GEOMEAN 与 average 的区别是什么?GEOMEAN是几何平均,比如:a,b的几何平均是:根号下(ab),average是算术平均,比如:a,b的算术平 ...

  • excel中type函数有什么作用?如何使用?

    excel中type函数有什么作用?type函数是是以整数的数值来返回数据的类型的函数.那么如何使用?下面小编就为大家详细介绍一下,不会的朋友快快来学习吧! 方法/步骤 首先我们插入一个工作样表作为例 ...

  • Excel中Sumproduct函数使用方法基础教程

    你还在为Excel中Sumproduct函数的使用方法而苦恼吗,今天小编教你Excel中Sumproduct函数的使用方法,让你告别Excel中Sumproduct函数的使用方法的烦恼.本文主要从四方 ...