EXCEL 里面的数据提取的问题

来源:百度知道 编辑:UC知道 时间:2024/06/03 00:50:07
姓名 部门 系统 房号
曾哲文 生产一厂 制造系统 河E347
李鑫 生产一厂 制造系统 河E347
张力 生产一厂 制造系统 河E348
陕慧 生产一厂 制造系统 河E348
欧阳强 生产一厂 制造系统 河E348
雷雨 生产一厂 制造系统 河E348
黄岭 生产一厂 制造系统 河E348
陈雅文 生产一厂 制造系统 河E348
胡盼 生产一厂 制造系统 河E348
吴鹏 营销管理部 商用系统 河E401
谭双全 营销管理部 商用系统 河E401
扶智 综合管理部 商用系统 河E402
郭凯 营销管理部 商用系统 河E402
刘伟飞 冷热水机科 商用系统 河E403
徐静男 单元机二科 商用系统 河E403

如何在另一个工作表中输入一个房号就能列出以上的同一房号的所有人员姓名,这是工厂宿舍的台帐.
http://club.excelhome.net/redirect.php?fid=3&tid=417990&goto=nextnewset
我看不懂你们的公式,我做了一个表在以上的论坛地址裏,请你们在那上面做指导吧
谢谢了

若方便,文件发过来看看(yqch134@163.com),做好给你

VBA实现

数组公式,或者添加辅助列用vlookup实现。
假设你给出的数据在sheet1的A:D列,要查找的数据在sheet2的A1

在sheet1的A列前插入1列,A2输入公式
=(E2=Sheet2!$A$1)+A1
双击填充柄

在sheet2的B1输入公式
=IF(COLUMN(A1)>MAX(Sheet1!$A:$A),"",VLOOKUP(COLUMN(A1),Sheet1!$A:$B,2,))
向右填充

假如数据在Sheet1,Sheet2的A2是房号,在Sheet2的B2输入公式
=IF(COUNTIF(Sheet1!D:D,$A$2)<ROW(A1),"",INDEX(Sheet1!A:A,SMALL(IF(Sheet1!$D$2:$D$16=$A$2,ROW(Sheet1!A$2:A$16)),ROW(1:1))))
这个是数组公式,按Ctrl+Shift+Enter结束公式输入。
向下复制公式。
引用范围根据实际情况修改。