之前有给大家介绍过多元素对应的相同内容拆分,这种数据的形式是多个对1个,具体可看下如下内容: 1对多时,要怎么进行查找呢,比如如下数据,我们想查询人事部的人员名单,如果使用公式要怎么实现呢 首先我们可以先增加一栏辅助列,可以更方便我们计算 首先在A2单元格输入公式: =B2&COUNTIF($B$2:B2,B2) 公式详解: Countif函数的功能主要是实现条件计数,计数的区域是$B$2:B2,条件是B2, 代表的是统计B2在列$B$2:B2中出现的的次数,区域第一个B2是绝对引用,当到A5单元格的时候,公式变更为如下图: 此意味着当我们对部门出现的次数进行统计,再和部门合并,即实现了唯一值,如上面的采购部1、采购部2 当我们把数据唯一化的时候,下面就相对简单了,我们再使用Vlookup进行查找即可实现 首先我们在J2输入公式: =IFERROR(VLOOKUP($I$2&ROW(A1),$A$1:$F$31,4,0),'') 公式详解: Vlookup查找的是: $I$2&ROW(A1):代表I2的内容和行数结合,比如ROW(A1)=1,输出的结果为人事部1,若ROW(A2),即为人事部2,依次累计; $A$1:$F$31:代表查找的区域; 4:代表需要输出的数据在查找的区域的第几列; 0:代表精确匹配 IFERROR(value, value_if_error) 表示判断value的正确性,如果value正确则返回正确结果,否则返回value_if_error。 其中value的错误格式有#N/A、#VALUE!、#REF!、#DIV/0!、#NUM!、#NAME?、#NULL等。 公式内容为判定Vlookup查找的是否正确,如果正确就显示,如果错误值时以“”空值替代 同样的对入职时间查找,我们只需要变更Vlookup查找的区域列数即可 =IFERROR(VLOOKUP($I$2&ROW(A1),$A$1:$F$31,6,0),'') 注意当输出时间内容的时候,需要把时间列的单元格格式变更为日期格式,否则会输出为数字。 在进行上面计算的时候,当我们对J列和K列进行查找的时候,需要修改公式,有没有办法不修改公式,一次实现呢,那当然可以的,这时就可以使用Match函数了 首先只要我们在J2输入公式: =IFERROR(VLOOKUP($I$2&ROW(A1),$A$1:$F$31,MATCH(J$1,$A$1:$G$1,0),0),'') 这时我们就可以对公式随意拖动,再不需要变更公式了 这个函数你知道具体代表的什么含义吗?在下方留言说说你的答案吧 |
|