二、构建辅助列
首先我们在数据最前面插入一列空白列,随后将公式设置为:=COUNTIF($B$2:B2,$G$2)然后向下填充公式,这样的话2班级的结果就是一个从1开始的的序列。这个从1开始序号就是唯一值,可以将其作为查找值。跟大家简单讲解下这个公式
公式: =COUNTIF($B$2:B2,$G$2),COUNTIF的作用是条件计数。
第一参数:$B$2:B2,计数的数据区域
第二参数:$G$2,计数条件
这个函数的关键点在第一参数计数的数据区域,在这里第一个B2加了$符号就代表绝对引用,向下拖动数据的时候它是不会发生变化的,而第二个B2没有加$符号就代表相对引用,向下拖动数据的时候它是会发生变化的,也就是说数据区域是一个单元格,一个单元格的增加的,所以才会出现分组计数的效果。
三、实现一对多查询
上一步中我们通过使用countif为每个班级都构建了一列从1开始的序列,这个序列就可以作为查找值来使用,因为它是不重复的,我们可以将ROW(A1)作为vlookup的查找值,因为它的结果也是从1开始的序列,这个是时候我们可以将公式设置为:=VLOOKUP(ROW(A1),$A$1:$D$16,3,0)向下填充即可,这个函数非常简单,就是一个vlookup的常规用法,不过在这里查找值变为了ROW(A1)。如下图所示
最后我们发现下方会有错误值出现,出现错误值的原因是因为,已经查找到了所有数据公式拉多了,这个时候我们可以使用IFERROR函数来屏蔽下错误值,最终的公式为:=IFERROR(VLOOKUP(ROW(A1),$A$1:$D$16,3,0),"")至此就设置完毕了,我们就可以使用一次vlookup来返回多个结果了
以上就是今天分享的全部内容,怎么样?你学会了吗?
我是Excel从零到一,关注我,持续分享跟多Excel技巧