Office中国论坛/Access中国论坛

标题: 从主表中一列 查询 含有此列数据的子表并返回子表的B列值 [打印本页]

作者: silea19    时间: 2016-7-18 22:34
标题: 从主表中一列 查询 含有此列数据的子表并返回子表的B列值
请问:sheet1包含有所有其他表的A1的值,现在要通过 sheet1的一列数据找到对应的子表A1,并返回对应子表的B1值,可以实现吗?谢谢!详见附件

作者: roych    时间: 2016-7-19 10:44
公式如下:
[attach]59582[/attach]
详细见附件。。。。
[attach]59581[/attach]
忽然发现,又抢了小妖姐姐的饭碗了。。。。……然后发现,我的函数不是那么烂嘛。支持的点个赞?
作者: pureshadow    时间: 2016-7-19 15:26
给你点赞了
作者: silea19    时间: 2016-7-22 14:41
roych 发表于 2016-7-19 10:44
公式如下:

详细见附件。。。。

非常感谢. 如果子表ba bc bd 在另外一个工作簿,公式要怎么改呢? 比如
=SUM(SUMIF(INDIRECT({"'C:\Users\xzhou90\Desktop\[sumif.xlsx]ba'","'C:\Users\xzhou90\Desktop\[sumif.xlsx]bc'","'C:\Users\xzhou90\Desktop\[sumif.xlsx]bd'"}&"!A:A"),A1,INDIRECT({"'C:\Users\xzhou90\Desktop\[sumif.xlsx]ba'","'C:\Users\xzhou90\Desktop\[sumif.xlsx]bc'","'C:\Users\xzhou90\Desktop\[sumif.xlsx]bd'"}&"!B:B"))) 我加入地址貌似不行啊
作者: pureshadow    时间: 2016-7-22 17:54
跨工作簿这个公式用不了。
技术活就是SQL或VBA,体力活就是复制粘贴到一个工作表里再统计。
作者: roych    时间: 2016-7-23 10:58
silea19 发表于 2016-7-22 14:41
非常感谢. 如果子表ba bc bd 在另外一个工作簿,公式要怎么改呢? 比如
=SUM(SUMIF(INDIRECT({"'C:%users\ ...

1、在同一个工作簿中用“多重合并计算数据区域”(假定为sumif),然后在新的工作簿(例如工作簿1)中使用vlookup过去(可能需要打开sumif工作簿)。
2、使用导入数据功能,然后修改sql语句:
select * from [ba$]
union all
select * from [bc$]
union all
select * from [bd$]
3、VBA,从略。




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3