留学生落户上海
留学生上海落户

全国免费咨询热线

18321065021

当前位置:政策资讯 > 最新资讯 > 根据身份证号码查询户口本上所有人的信息

根据身份证号码查询户口本上所有人的信息

栏目:最新资讯 人气:0发表时间:2023-07-28

免费提供最新落户政策及一对一落户上海方案

留学生/应届生/非婚子女 落户上海咨询

落户上海咨询二维码  

  

根据身份证号码查询户口本上所有人的信息

  

昨天在群里丢了个问题,是关于一对多查找的,虽然关于查找的话题永远都没有停止过,不过在工作中对于查找来说也是家常便饭,尤其是类似于人力资源这种部门。来看看题,原始数据如下:

  

根据身份证号码查询户口本上所有人的信息

  

需要根据提供的身份证号码查找同一户号中的所有人员详细信息。

  

根据身份证号码查询户口本上所有人的信息

  

(注:案例纯属虚构,也是在某个教材中得到的)

  

第一种:Microsoft365的新增函数Filter

  

看标题很明显,必须是365用户,Filter中文翻译就是筛选的意思,因此对于这种筛选的问题用它肯定没错。我们将结果都写在最下方:

  

根据身份证号码查询户口本上所有人的信息

  

公式为:

  

=FILTER($A$2:$F$14,$E$2:$E$14=VLOOKUP($H$2,$C$2:$E$14,3,0),'')

  

只需要将公式写在一个单元格中就可以了,后面的全部自动带出,非常的快捷高效;

  

第二种:固定函数组合INDEX+SMALL+IF+ROW

  

关于这个经典函数组合,在分享中应该提过好几次,原理就不多少说,你只需要记着套用就好了。

  

=Index(要取值的范围,Small(if(取值条件,row(数据源行数),9^9),row(a1))

  

上述公式中只有取值范围、取值条件和数据源行数是需要关注的,一起来看看具体怎么套。

  

根据身份证号码查询户口本上所有人的信息

  

公式为:

  

=INDEX($A$2:$A$14,SMALL(IF(VLOOKUP($H$2,$C$2:$E$14,3,0)=$E$2:$E$14,ROW($1:$13),9^9),ROW(A1)))

  

取值范围是:A2:A14,因为要得到的是姓名;

  

取值条件:因为身份证是唯一的,如果用身份证作为查找条件,势必只能得到一个数据,所以这里运用了Vlookup进行转换,将身份证对应的户号查找出来,然后再根据户号查找所有信息,所以这里的取值条件应该是户号;

  

数据源行数:从赵一开始到最后一行的刘四,总共是13行,所以用了Row(1:13)

  

上述完成之后拖拽鼠标填充公式就好了。

  

根据身份证号码查询户口本上所有人的信息

  

对于这种错误的引用,直接最外面套一个IFERROR就搞定了,公式看似复杂,其实总结一下规律,当成我们高中时候学的那什么固定公式一样去套用就可以了。

  

第三种:PowerQuery转换(难度较高)

  

有兴趣的可以试试,这个需要对M函数比较了解的朋友进行操作。直接在编辑栏中输入:

  

根据身份证号码查询户口本上所有人的信息

  

代码为:

  

=Table.AddColumn(源,'自定义',eachTable.SelectRows(户口信息,(y)=>y[户号]=Table.SelectRows(户口信息,(x)=>x[身份证号]=[请输入身份证号码])[户号]{0}))

  

最后扩展数据后,关闭并上载就可以一键刷新、一劳永逸了。

  

根据身份证号码查询户口本上所有人的信息

  

上述需要搞懂的是:

  

Table.SelectRows

  

(x)=>x

  

表格之前的嵌套关系

  

如果你有更好的办法,欢迎拿出来一起交流,共同进步吧。

  

最近在录制PowerQuery的课程,从基础到进阶,希望一系列的教程可以帮助你有所提升,毕竟界面的操作只能发挥全部能力的20%,另外80%的能力都要通过M函数来实现。

推荐文章

热门文章

最新文档

相关文档