Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 6233|回复: 10

求好人心帮帮忙-利用户主身份证调取家庭成员信息

[复制链接]
发表于 2019-3-24 10:36 | 显示全部楼层 |阅读模式
求好心人帮帮我:
       我想达到的效果是:输入户主的身份证号码,自动查询Sheet1表中数据,返回在下面表格中,自动输出家庭成员的信息。本人是菜鸟,拜托各位帮帮

求教.rar

20.38 KB, 下载次数: 84

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
 楼主| 发表于 2019-3-24 14:08 | 显示全部楼层

求教,输入身份证号码,输出家庭成员信息

求好心人帮帮我:
       我想达到的效果是:输入户主的身份证号码,自动查询Sheet1表中数据,返回在下面表格中,自动输出家庭成员的信息。本人是菜鸟,拜托各位帮帮
回复

使用道具 举报

 楼主| 发表于 2019-3-24 14:09 | 显示全部楼层

求教,输入户主身份证,输出家庭成员信息

我想达到的效果是:输入户主的身份证号码,自动查询Sheet1表中数据,返回在下面表格中,自动输出家庭成员的信息。本人是菜鸟,拜托各位帮帮

回复

使用道具 举报

发表于 2019-3-24 19:59 | 显示全部楼层
方法一,查找,复制,粘贴
方法二,C2单元格写公式=vlookup($B2,sheet1!$B$2:$Z$10000,column(A:A),0),向右填充,紧接着,向下填充
             或C2单元格写公式=index(sheet1!C:C,match($B2,sheet1!$B:$B,0)) ,向右填充,紧接着,向下填充
方法三,走后门,用VBA程序
回复

使用道具 举报

发表于 2019-3-25 01:01 | 显示全部楼层
本帖最后由 cabcyvr 于 2019-3-25 01:04 编辑

A9=IFERROR(INDEX(OFFSET(Sheet1!$A$1,MATCH(VLOOKUP($F$3,Sheet1!$C:$M,11,),Sheet1!$M:$M,)-1,MATCH(SUBSTITUTE(A$8,"与户主","家庭"),Sheet1!$1:$1,)-1,COUNTIF(Sheet1!$M:$M,VLOOKUP($F$3,Sheet1!$C:$M,11,)),1),ROW(A1)),"")
向右向下复制到E17
Capture.JPG
回复

使用道具 举报

发表于 2019-3-25 01:12 | 显示全部楼层
去看你的另一个带附件的帖子。

回复

使用道具 举报

发表于 2019-3-25 14:25 | 显示全部楼层
A9 =IF(ROW(A1)>COUNTIF( Sheet1!$M:$M,$F$3),"",  INDEX(Sheet1!$A:$AH,MATCH($F$3,Sheet1!$M:$M,)+ROW(A1)-1,MATCH("*"&RIGHT(A$8,2),Sheet1!$1:$1,)))

右拉下拉
回复

使用道具 举报

发表于 2019-3-25 14:27 | 显示全部楼层
D4 =COUNTIF( Sheet1!$M:$M,$F$3)

B3 及其他
=INDEX(Sheet1!$A:$AH,MATCH($F$3,Sheet1!$M:$M,),-LOOKUP(1,-MATCH("*"&RIGHT(SUBSTITUTE(A3," ",),6-ROW($1:$5))&"*",Sheet1!$1:$1,)))
回复

使用道具 举报

发表于 2019-3-25 17:34 | 显示全部楼层
要將2個表頭名稱射程一致
回复

使用道具 举报

发表于 2019-3-28 23:07 | 显示全部楼层
本帖最后由 dequang 于 2019-3-29 10:45 编辑


在表sheet1中同一户主下的家庭成员数据不一定要集中在一起,可以在表最后随时添加记录!
服务器又上传不了图片和附件了
Sub chaxun()
    Dim arr, hh, k%, j%
    Set d1 = CreateObject("Scripting.Dictionary")  '字典d1计算户主家庭人口数
    Set d2 = CreateObject("Scripting.Dictionary")  '字典d2放户主家庭每个成员所在的行号

    '清除表格家庭成员原有数据
    Sheets("低保户").Range("a9:f17").ClearContents

    maxrow = Sheets("sheet1").Range("b" & Rows.Count).End(xlUp).Row
    arr = Sheets("sheet1").Range("a2:ah" & maxrow)
    For i = 1 To maxrow - 1
        d1(arr(i, 13)) = d1(arr(i, 13)) + 1
        d2(arr(i, 13)) = d2(arr(i, 13)) & "," & i
    Next
    sfz = Sheets("低保户").Range("F3")
    hh = d2(sfz)
    hh = Split(hh, ",")
    j = 0
    For i = 1 To UBound(hh)
        k = hh(i)
        If arr(k, 11) = "本人" Then
            With Sheets("低保户")
                .[B3] = arr(k, 12)  '户主姓名
                .[D3] = arr(k, 9)   '户主性别
                .[D4] = UBound(hh)  '家庭人口数
                .[F4] = arr(k, 10)  '是否建档立卡对象
                .[B5] = arr(k, 18)  '健康状况
                .[D5] = arr(k, 6)   '保障金额(元)
                .[F5] = arr(k, 26)  '起始保障年月
                .[B6] = arr(k, 29)  '居住地址
                .[F6] = arr(k, 30)  '联系电话
            End With
        Else
            With Sheets("低保户")
                .Range("A" & 9 + j) = arr(k, 2)    '户主家庭成员姓名
                .Range("B" & 9 + j) = arr(k, 11)   '与户主关系
                .Range("C" & 9 + j) = arr(k, 9)    '性别
                .Range("D" & 9 + j) = arr(k, 17)   '年龄
                .Range("E" & 9 + j) = arr(k, 34)   '出生年月
                j = j + 1
            End With
        End If
    Next
End Sub

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-19 16:30 , Processed in 0.359079 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表