数组函数在excel中的应用技术

这是一个网友给我的问题,对大家说要看;

有两个工作表Sheet1、Sheet2的工作簿。首先,sheei1,如下

A B C

项目名称

1011汽车安全带

1012前节

1013后的电影

1014驱动皮带

1015车片

1016袋

1017手车

2021前板链

2022前袋

2023包

2024汽车后片

2025司机垫

2026袋



表Sheet2如下:

A B C

项目名称

1015 {空单元格}

1012 {空单元格}

1013 {空单元格}

1017 {空单元格}

2023 {空单元格}

2021 {空单元格}



求篇内容,发现在Sheet1,Sheet2的名称栏填写正确内容。



主题分析:

According to the requirement, if we want to fill in the right name in a row of Sheet2, we first need to find such a row in Sheet1: the first column of the row is equal to Sheet2, the first row of a row n, the second row content of the row is equal to Sheet2, row row, N and second column.

由于对数据的搜索,它打算由数组公式实现。



1。首先定义名称:

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

数据=偏移(Sheet1!美元1,0,0,COUNTA(Sheet1!a:a美元,1美元)

数据库=偏移(Sheet1!$ B $ 1,0,0,COUNTA(Sheet1!(b):1美元)



这样做的好处是,无论多少行中添加,数据总是包含一个内容的行列,从而节省了大量的计算时间比使用:一整列directly.datab是相同的。



2、匹配条件

第一个匹配的列,选择Sheet2!D2:D13(因为原来的数据是从2 ~ 13线),进入编辑字段

=如果(数据= a2,1,0)

用Ctrl + Shift +返回的车,所以你可以看到所有的表2.!这与Sheet1变成1这里的A2线,和错配是0。

以同样的方式,在表2.!E2:E13输入

如果(数据库b2,1,0 = =)

这样,我们得到一个数组与SHEET2!一、Sheet2!d和e两列中的B列。



3、组合匹配条件

我们需要的是两个条件和运算,所以乘法是最好的。只有两个条件同时成立,1×1=1,否则两个乘数至少有1个,结果是0个。

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

=如果((数据= A2)*(数据库= B2),1,0)

在这种方式中,得到了一个新的1和0的阵列,以国家相应的线元素如果元素是1或0。



4。检索行号

这个数组,我们需要匹配的行数,因为阵列由0和1的比赛,所以我们只需要使用匹配函数获取Sheet1 Sheet2匹配的行数!

在一篇!G1的输入

=比赛(1,如果((数据= A2)*(数据库= B2),1,0),1)

请注意,虽然公式只在单元格中输入,但仍然是一个数组公式,需要使用Ctrl + Shift + Enter。

结果是,配合在Sheet1的行数。



5。检索结果

有了行号,就很容易得到结果,我们使用间接函数。

在Sheet2输入数组公式!C2:

=间接(Sheet1!C 匹配(1,如果((数据= A2)*(数据库= B2),1,0),1)))

请注意,仍然使用Ctrl + Shift + Enter,并显示正确的结果。



对于以下行,您只需拖动填充句柄复制公式即可。



另外,不要忘记删除用于演示的d、E、f和G列不再需要的公式。