excel学习库

excel表格_excel函数公式大全_execl从入门到精通

Excel一对多查找引用干货技巧,使用index数组特性的公式套路介绍

今天要讲的内容可能是绝大多数excel使用者没有接触过的知识,它是关于index函数输出数组结果的一个特性应用。

这个特性它包含了与其他函数的嵌套组合,从而彻底解决了index函数一次只能得到一个结果的缺点。

下面以实例来进行操作和讲解。

通过类别来统计公司名称,也就是要查找并引用类别为日用百货的所有公司名称!

我们通过一个动图来展示所需的效果:

下拉菜单

那么重点就是公式的设置。

常规的index函数动态引用,会组合match函数来计算,如下图公式所示:

=INDEX(A2:B11,MATCH(G2,B2:B11,0),1)

match函数是返回查找值在列表中的位置,常嵌套在index、vlookup、offset等函数公式中,但它只能返回查找到的第1个值,则意味着只会输出一个结果,因此无法达到任务的需求。

一对多查找引用

接下来作者将使用if函数来代替match函数应用到index函数的第2参数中。

如下图所示,公式为:

IF(B2:B11=G2,ROW($1:$10),"")

IF(B2:B11=G2,ROW($1:$10),"")当列表为G2的值时,就返回row函数对应的结果,否则返回空值

我们按下F9来查看一下if函数表达式的结果,它是由数值和空值组成的数组。

那么按照正常的逻辑,如果index函数第2参数是一个数组,那么三键运行将执行数组运算,得到相应的多个结果。

index公式仍然只会输出一个结果!

index+n+if

不过在之前我们还要进行一个操作,即使用small函数对if函数结果进行排序。

small函数会将列表中的数字排序在前,其他非数值数据则显示为“#num!

经过一系列的条件设置后,我们在表达式的外部继续组合一个N+if函数的特性组合,其公式为:

N(IF(1,SMALL(IF(B2:B11=G2,ROW($1:$10),""),ROW($1:$10))))

Index+N+IF的组合套路,会使得index函数公式能够输出一个数组结果

接下来我们按下F9,来看看N+IF函数表达式的结果,它与small函数表达式的结果是一样的。

从这个角度来讲,加上N+IF的函数组合实则是多此一举,但index加上这个组合就完全不同了。

最后我们拉取要填充公式的单元格区域,然后在公式编辑栏中添加一个容错函数——iferror,随后三键结束公式!

所以最后完整的数组公式为:

{=INDEX(A2:B11,N(IF(1,SMALL(IF(B2:B11=G2,ROW($1:$10),""),ROW($1:$10)))),1)}。

现在我们再总结一下今天的所学内容,主要是关于index函数第2参数使用if函数表达式的应用,以及index+n+if函数组合的特性应用,当然,其中出现的small函数也不容忽视,它起到了将有效结果排序在前位的作用。

从这个公式可见,函数知识一定要扎牢,至少要了解各函数的基本语法和基础用法!

最后,作者预报一下下期的内容,将在这节基础上,来计算一个包含大量数据的真实案例。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2024年12月    »
1
2345678
9101112131415
16171819202122
23242526272829
3031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
      友情链接