广告合作
  • 今日头条

    今日头条

  • 百度一下

    百度一下,你就知道

  • 新浪网

    新浪网 - 提供新闻线索,重大新闻爆料

  • 搜狐

    搜狐

  • 豆瓣

    豆瓣

  • 百度贴吧

    百度贴吧——全球领先的中文社区

  • 首页 尚未审核订阅工具 订阅

    一户一表之用OFFSET函数制一户一表(EXCLE)

    来源:网络收集  点击:  时间:2024-05-18
    【导读】:
    当需要对户籍数据信息表进行按户整理时,Excel中的OFFSET函数就是个不错的选择。工具/原料moreEXCLE信息数据表方法/步骤1/11分步阅读

    思路:利用OFFSET函数,先分析该函数所需要的5部分内容。

    第1部分reference,任意单元格均可引用(本文建议不超过B3);

    第2部分rows,移动多少行用行号进行补充;

    第3部分cols,移动多少列,可以不做移动,空值;

    第4部分height,选择区域多少行,由家庭人数决定;

    第5部分width,选择区域多少列,我们根据表格内容确定。

    2/11

    按户制表,首先得先确定户号,而刚分析OFFSET函数需用到的行号、家庭人数,均可参阅之前发表的经验【一户一表之身份证号查询户号、姓名等信息】进行填写。

    3/11

    一、创建户(编)号

    思路:第几户家庭,就标号为几;有几个”本人或户主“,即有几户家庭。

    在第一列处插入一列,命名为【户编号】;

    如图,单元格A4,输入

    =COUNTIF($D$4:D4,本人或户主)

    原理:以“本人或户主”作为确定每户的依据,统计单元格D4到单元格D4共有几个”本人或户主“,再配合使用单元格下拉自动填充,即可将全表按户编号。

    其中,第一个D4需使用绝对引用。

    4/11

    二、查找所在行号

    在【所在行号】右边第一个单元格输入函数

    =MATCH(L11,A:A,0)

    原理:查找单元格L11输入的户编号在所有的户编号A列所处的位置,即我们需要的所在行号。

    5/11

    三、统计家庭总人数

    思路:当户(编)号相同时,即为同一户人家,有几个相同的编号,即有几人。

    在【家庭人数】右边第一个单元格输入函数

    =COUNTIF(A:A,L11)

    原理:统计单元格L11的户编号,在A列中共有多少个。

    6/11

    四、查找姓名

    在【姓名】右边第一个单元格输入函数

    =INDEX(B:B,L14)

    原理:当单元格L14的行号为35时,即为B列的第35行单元格数据,即单元格B35的数据。

    7/11

    五、函数OFFSET

    思路:右侧空白选择一片空白区域,比如我选择20×7;

    原理:20表示每户家庭人数最多20人,即20行;

    7表示我需要【姓名、性别、与户主关系、出生年月、身份证号、年龄、现居住地】共7项数据,即7列。

    选定好区域,再在函数旁的编辑栏输入函数

    =OFFSET(B1,L14-1,,L13,7)然后同时按Ctrl+Shift+Enter键

    原理:以B1为参考单元格,下移单元格L14中35减1行,右移动0行(空值),拓选区域为单元格L13中3行,共7列(即我需要7项数据)。

    8/11

    六、显示#N/A

    实际家庭人数绝不可能有20人,即20×7全部填满,那多余的就会显示为#N/A。

    去除这些#N/A,这时我们可以利用IFERROR。

    9/11

    七、20行数据全部相同

    当家庭人数为1时,即OFFSET函数第4部分,拓选区域的行为1时,会把2-20行填充的和第1行数据相同。(不知这是BUG还是什么原因,本人使用微软2007版EXCLE和WPS2019版均会出现该问题)

    10/11

    八、去除#N/A和重复数据

    1、另选空白区域,或者新建一份表格。

    2、第一行;

    第一个单元格直接输入“=”,加上刚才OFFSET函数所得出结果的单元格;如图所示,输入

    =N4,即引用N4单元格的数据;

    当单元格右下角变成小“+”号时右拉填充。

    思路:每户至少有1人,所以第一行数据不用怎么变更,直接用“=”引用即可。

    11/11

    3、第二至二十行

    思路:以家庭人数1作为条件,进行设置;

    第二行第一个单元格,输入

    =IF($L$13=1,,IF($L$131,IFERROR(N5,)))

    原理:该函数组使用了3个函数,

    第①个函数IF——当绝对引用的单元格L13即家庭人数为1时,现在第二行开始的单元格,直接显示为空值,否则进入第②个函数IF——当绝对引用的单元格L13即家庭人数大于1时,则进入第③个函数IFERROR——当引用的值,比如单元格N5,如果N5出现#N/A,则显示空值,否则显示N5的值。

    当单元格右下角变成小“+”号时右拉填充,再向下填充。

    注意事项

    1、其中【查找姓名】可用于检测后续单元格引用后是否出错

    2、本文中OFFSET的reference为该列第几个,则rows下移行数就要减几。例:以B3为参考,则reference为B3,而rows为L14-3

    3、本文中OFFSET的reference不建议超过第3行,即B3,否则cols下移动行数需出现负数,以保证是向上移动

    4、OFFSET函数需同时按Ctrl+Shift+Enter键进行引用

    本文关键词:

    版权声明:

    1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。

    2、本站仅提供信息发布平台,不承担相关法律责任。

    3、若侵犯您的版权或隐私,请联系本站管理员删除。

    4、文章链接:http://www.1haoku.cn/art_792343.html

    相关资讯

    ©2019-2020 http://www.1haoku.cn/ 国ICP备20009186号05-05 13:34:45  耗时:0.024
    0.0245s