ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 71|回复: 8

[求助] 多表格,查询后返回对应行数据

[复制链接]

TA的精华主题

TA的得分主题

发表于 2024-10-31 14:10 | 显示全部楼层 |阅读模式
本帖最后由 笨逗逗 于 2024-10-31 15:40 编辑

比如我有多个操作表,至少4个SHEET以上.汇总表和操作01/操作02/操作03。。。。。(最多不会超过操作09)

有1个汇总表
汇总表,根据序号,去各个表查询,如果查到返回该行的某几个单元格,我用每个单元格IF和VLOOKUP查询,数据量算法太大,容易卡
COUNTIF和MATCH,(如果不在第一个表,就if第2个表,if第三个表........到IF操作09)公式太长了
IF(COUNTIF(操作01!$A:$A,$A35)=1,INDEX(操作01!$A:$BB,MATCH($A35,操作01!$A:$A,0),{2,5,7,8,9,11,12,14,15,16}),IF(COUNTIF(操作02!$A:$A,$A35)=1。。。。。。直到IF操作09

我再网上搜VLOOKUP($K7,INDIRECT(LOOKUP(1,0/COUNTIF(INDIRECT("操作0"&ROW($1:$6)&"!$A:$A"),$K7),"操作0"&ROW($1:$6))&"!$A:$BB"),3,0))的这个好像公式很短,但是没看懂!

各位大神有没有简化的公式写法和不太占用资源的函数算法?汇总表序号从1开始按顺序不会重复,操作01-09的序号也不会重复

比如
表1:1-10,17-28,39-45
表2:11-14,29-30
表3:15-16,31-38,46-50
表4-表9:。。。。。等等

台账.zip

226.94 KB, 下载次数: 8

TA的精华主题

TA的得分主题

发表于 2024-10-31 14:16 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
上传附件,上传附件,上传附件!!!

TA的精华主题

TA的得分主题

发表于 2024-10-31 15:03 | 显示全部楼层
先把 各个分表 合并成一张 内存总表(虚拟的、是个内存数组),再在 这个总表上查找引用,会快很多的

办法很多,不过没附件就没办法的






TA的精华主题

TA的得分主题

 楼主| 发表于 2024-10-31 15:41 | 显示全部楼层
hxj119 发表于 2024-10-31 14:16
上传附件,上传附件,上传附件!!!

大神附件上传了,受累帮忙优化下吧~~公式太长太卡了,如果变为共享文档以后,共享文档无法使用数组函数

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-10-31 15:42 | 显示全部楼层
mjm04 发表于 2024-10-31 15:03
先把 各个分表 合并成一张 内存总表(虚拟的、是个内存数组),再在 这个总表上查找引用,会快很多的

办 ...

大神附件上传了,受累帮忙优化下吧~~公式太长太卡了,如果变为共享文档以后,共享文档无法使用数组函数

TA的精华主题

TA的得分主题

发表于 2024-10-31 16:21 | 显示全部楼层
不就是合并报表吗?  pq 或  vba是最好用的工具
函数:A4==LET(a,VSTACK(操作01:操作06!A4:AZ100),b,FILTER(a,TAKE(a,,1)<>""),CHOOSECOLS(b,{1,2,3,4,5,6,7,8,9,10,11,14,16,18,51}))

台账.zip

238.89 KB, 下载次数: 0

TA的精华主题

TA的得分主题

发表于 2024-10-31 16:47 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
  1. =REDUCE("",SHEETSNAME(,1,1),LAMBDA(X,Y,VSTACK(X,INDIRECT(Y&"!B4:P"&SUM(COUNTA(INDIRECT(Y&"!B:B")),2)))))
复制代码
WPS版本 只合并B到P列

TA的精华主题

TA的得分主题

发表于 2024-10-31 17:16 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 solextrade 于 2024-10-31 17:20 编辑

把B3 填上 操作 2字,数组公式,右拖下拖,B4
=VLOOKUP($A4,INDIRECT("操作0"&MATCH(1,COUNTIF(INDIRECT("操作0"&ROW($1:$6)&"!A:A"),$A4),)&"!A:BB"),MATCH(B$3,操作01!$3:$3,),)

TA的精华主题

TA的得分主题

发表于 2024-10-31 19:04 | 显示全部楼层
汇总并查询
支持:客户名称 或  委托单号 或  提单号 或 船名 四种查询方式;

=LET(_汇总,VSTACK(IFERROR(FILTER(操作01!A4:AX1000,操作01!A4:A1000<>""),""),IFERROR(FILTER(操作02!A4:AX1000,操作02!A4:A1000<>""),""),IFERROR(FILTER(操作03!A4:AX1000,操作03!A4:A1000<>""),""),IFERROR(FILTER(操作04!A4:AX1000,操作04!A4:A1000<>""),""),IFERROR(FILTER(操作05!A4:AX1000,操作05!A4:A1000<>""),""),IFERROR(FILTER(操作06!A4:AX1000,操作06!A4:A1000<>""),"")),_返回区域,CHOOSECOLS(_汇总,1,2,3,4,5,6,7,8,9,10,11,14,16,17,18,50),_客户列,CHOOSECOLS(_返回区域,3),_委托单号列,CHOOSECOLS(_返回区域,4),_提单号列,CHOOSECOLS(_返回区域,5),_船名列,CHOOSECOLS(_返回区域,6),FILTER(_返回区域,((_客户列=$E$1)+(_委托单号列=$E$1)+(_提单号列=$E$1)+(_船名列=$E$1))))



===============================================================

只汇总,不查询

=LET(_汇总,VSTACK(IFERROR(FILTER(操作01!A4:AX1000,操作01!A4:A1000<>""),""),IFERROR(FILTER(操作02!A4:AX1000,操作02!A4:A1000<>""),""),IFERROR(FILTER(操作03!A4:AX1000,操作03!A4:A1000<>""),""),IFERROR(FILTER(操作04!A4:AX1000,操作04!A4:A1000<>""),""),IFERROR(FILTER(操作05!A4:AX1000,操作05!A4:A1000<>""),""),IFERROR(FILTER(操作06!A4:AX1000,操作06!A4:A1000<>""),"")),CHOOSECOLS(_汇总,1,2,3,4,5,6,7,8,9,10,11,14,16,17,18,50))


================================================

函数只写到 各分表的1000行分表超行会漏数据




台帐.png

台账-带查询.zip

242.3 KB, 下载次数: 0

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

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-1 09:11 , Processed in 0.042710 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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