如何从excel的多个表中筛选出符合条件的所有数据,按照顺序拷贝到新表中。谢谢大神给予指导!

如题所述

可以用数组函数。不过需要预设单元格区域。
可以使用index函数、match函数,以及small函数组合,查找到数据之后做不重复排序。
不过,如果用数组公式,则需要设定区域,如果数据量比较大的话,运行比较缓慢一些。
因为公式较为复杂,在这里只能给你提供思路。如果要我帮你写的话,不免费。如果需要可以私信,发原表过来帮你写。思路方面有什么问题,可以继续追问。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-08-09
在第一行设置自动筛选,然后按要求点开自动筛选框把条件录入,然后也是在筛选框点升序或降序即可按顺序排列筛选结果,最后把筛选结果全部选中复制粘贴到新表格中。追问

谢谢您的回答!
我是想实现分公司1-3表中数据随时更新的同时,在查询页,输入要查询人员姓名后所有信息也自动更新,无需对多个表格进行多次筛选再复制。

本回答被网友采纳
第2个回答  2019-08-12
B2输入:

=IFERROR(INDIRECT("分公司"&INT(SMALL(IF(T(OFFSET(INDIRECT("分公司"&{1,2,3}&"!D1"),ROW($A$1:$C$1000),))=$A$2,COLUMN($A$2:$C$1001)+ROW($A$2:$C$1001)/10000),ROW(A1)))&"!R"&ROUND(MOD(SMALL(IF(T(OFFSET(INDIRECT("分公司"&{1,2,3}&"!D1"),ROW($A$1:$C$1000),))=$A$2,COLUMN($A$2:$C$1001)+ROW($A$2:$C$1001)/10000),ROW(A1)),1)*10000,)&"C"&COLUMN(A1),),"")
ctrl+shift+回车,右拉、下拉。追问

分公司名字分别为:管道公司,腐蚀公司,研究院,这个公式得如何更改?不能用
"分公司"&{1,2,3}
来表示,谢谢您给与指导!
因为我们后续还得增加如XX实验室等,特此请教,谢谢。

追答

=IFERROR(INDIRECT(LOOKUP(INT(SMALL(IFNA(IF(T(OFFSET(INDIRECT({"管道公司","腐蚀公司","研究院"}&"!D1"),ROW($A$1:$Z$1000),))=$A$2,COLUMN($A$2:$Z$1001)+ROW($A$2:$Z$1001)/10000),""),ROW(A1))),ROW($1:$26),{"管道公司","腐蚀公司","研究院"})&"!R"&ROUND(MOD(SMALL(IFNA(IF(T(OFFSET(INDIRECT({"管道公司","腐蚀公司","研究院"}&"!D1"),ROW($A$1:$Z$1000),))=$A$2,COLUMN($A$2:$Z$1001)+ROW($A$2:$Z$1001)/10000),""),ROW(A1)),1)*10000,)&"C"&COLUMN(A1),),"")

若有更改,按{"管道公司","腐蚀公司","研究院"}格式顺序输入工作表标签(此公式限定最多26个工作表)

本回答被提问者采纳
第3个回答  2019-08-13
用VBA可以方便实现,还需要吗?如果需要可以回复我。
相似回答