根据身份证号码查询户口簿上所有人的信息
昨天,我在小组里失去了一个关于一对多搜索的问题。虽然搜索的话题从未停止过,但在工作中搜索也很常见,尤其是像人力资源这样的部门。让我们看看问题。原始数据如下:
需要根据提供的身份证号码查找同一家庭号码中所有人员的详细信息。
(注:案例纯属虚构,也是在教材中获得的)
第一种: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转换(难度高)
=Table.AddColumn(源,"自定义",eachTable.SelectRows(户籍信息,(y)=>y[户号]=Table.SelectRows(户籍信息,(x)=>x[身份证号]=[输入身份证号码][户号]{0})
最后扩展数据后,一键刷新上载即可。
以上需要理解的是:
Table.SelectRows
(x)=>x
嵌套关系在表格之前
如果你有更好的方法,欢迎一起交流,一起进步。
最近在录制PowerQuery希望一系列教程能帮助你从基础到进步提高课程。毕竟界面的操作只能发挥20%的所有能力,80%的能力必须通过M实现函数。
如果愿意继续学习,可以点击下面的直接课程链接,以后会有相关介绍。
最近,许多用户正在寻找关于户口簿信息的答案,并在28160806本原始户口簿上找到信息设计图片。今天,我将总结几个答案供您解释! 97%的新读者认为(户口簿上的信息:根据身份证号码查询户口簿上所有人的信息)值得一读!
毕业证样本网创作《户口本上的信息:根据身份证号码查询户口簿上所有人的信息》发布不易,请尊重! 转转请注明出处:https://www.czyyhgd.com/220374.html