ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[分享] 突破函数跨工作簿引用限制

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2019-2-16 08:59 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
jaffedream 发表于 2019-2-15 08:23
F4=INDEX('D:\[开标.xls]第一包'!$A$2:$A$5001,COLUMN()-5),右拉。
比如这个,在不打开开标.xls的情况 ...

还有一个问题想请教一下。
关于跨工作簿下拉有效性的问题。
在图一(工作簿1)中的黄色区域设定有效性,引用图片2(工作簿2)的客户名称那一列

图一

图一

图2

图2

TA的精华主题

TA的得分主题

发表于 2019-2-17 13:08 | 显示全部楼层
本帖最后由 jaffedream 于 2019-2-17 13:11 编辑
随风海的子 发表于 2019-2-16 08:59
还有一个问题想请教一下。
关于跨工作簿下拉有效性的问题。
在图一(工作簿1)中的黄色区域设定有效性 ...

举例说明,详见附件。1.xlsx的sheet1中A1是客户名称,A2:A9是具体内容。2.xlsx的sheet1中A1=IF([1.xlsx]Sheet1!A1<>"",[1.xlsx]Sheet1!A1,""),下拉。ctrl+f3,new,name是客户,refers to填=OFFSET(Sheet1!$A$2,0,0,SUMPRODUCT((TRIM(Sheet1!$A$1:$A$100)<>"")*1)-1,1)。sheet2中选中A2,data,data validation,settings,allow选list,source填=客户。如在名称管理器中采用COUNTA,假空单元格也会计入。SUMPRODUCT的取值范围要限定,否则影响速度。
数据有效性无法直接引用异簿数据,需要使用名称管理器中转,但必须打开原工作簿。如要在不打开原工作簿的情况下引用,并自动将新数据添加到下拉菜单,则要将原工作簿的数据先引用到另一个工作簿,在名称管理器中使用函数中转,数据有效性中引用名称。

异簿异表.rar

15.07 KB, 下载次数: 13

TA的精华主题

TA的得分主题

发表于 2019-2-17 14:16 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
请问下:这种操作,是不是两个文件不能同时打开读写?

TA的精华主题

TA的得分主题

发表于 2019-2-18 13:37 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
jaffedream 发表于 2019-2-17 13:08
举例说明,详见附件。1.xlsx的sheet1中A1是客户名称,A2:A9是具体内容。2.xlsx的sheet1中A1=IF([1.xlsx]S ...

好的,感谢了!还有一个问题,比如我黄色区域已经选择了邢台这家厂家,那么我想根据1月份的日期,相对应匹配1月份内所有的日期出来到图1日期A7单元格

TA的精华主题

TA的得分主题

发表于 2019-2-18 14:04 | 显示全部楼层
jaffedream 发表于 2019-2-17 13:08
举例说明,详见附件。1.xlsx的sheet1中A1是客户名称,A2:A9是具体内容。2.xlsx的sheet1中A1=IF([1.xlsx]S ...

=INDEX('[销售数据出库表.xls]出库'!$A$2:$N$10000,MATCH(CONCATENATE($K5(INDEX('[销售数据出库表.xls]出库'!B:B,SMALL(IF(TEXT('[销售数据出库表.xls]出库'!$B$2:$B$10000,"yyyy-ee-mm")=TEXT('1'!$K$5,"yyyy-ee-mm"),ROW($2:$10000),4^8),ROW(1:1))))," ",B$5),'[销售数据出库表.xls]出库'!$A$2:$D$10000,0),MATCH($B$5,'[销售数据出库表.xls]出库'!$A$2:$N$10000,0))


这个公司是我根据情况在A7单元写的,但是一直都对不。前面回复您的图2为销售数据出库表
360截图1635091283129140.jpg

TA的精华主题

TA的得分主题

发表于 2019-2-18 22:30 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
随风海的子 发表于 2019-2-18 13:37
好的,感谢了!还有一个问题,比如我黄色区域已经选择了邢台这家厂家,那么我想根据1月份的日期,相对应 ...

这个一般都用INDEX+SMALL+IF公式吧,就是比较慢。
https://weibo.com/ttarticle/p/show?id=2309403992549814584040
你要是把客户名称改到日期左侧,也可以用自定义函数MLOOKUP
http://ffcell.com/data/wk/201858/0217582893.html

TA的精华主题

TA的得分主题

发表于 2019-2-18 23:03 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
随风海的子 发表于 2019-2-18 14:04
=INDEX('[销售数据出库表.xls]出库'!$A$2:$N$10000,MATCH(CONCATENATE($K5(INDEX('[销售数据出库表.xls] ...

我感觉你还是在主表弄几个辅助列吧。某某公司+月份+第几次,如机械厂011,代表机械厂一月第一次出现。这样只要用index+match就搞定咯。

TA的精华主题

TA的得分主题

发表于 2019-2-25 10:08 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
老师,我用的是office2016,按您说的步骤导入数据,但是不能实现?请帮忙看下

求助.zip

15.27 KB, 下载次数: 2

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-2-25 10:11 | 显示全部楼层
yibinely 发表于 2019-2-25 10:08
老师,我用的是office2016,按您说的步骤导入数据,但是不能实现?请帮忙看下

在视图选项卡下 取消保护工作簿  

然后再试试看

TA的精华主题

TA的得分主题

发表于 2019-2-25 10:39 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
祝洪忠- 发表于 2019-2-25 10:11
在视图选项卡下 取消保护工作簿  

然后再试试看

老师,保护取消了的。另外我在导入的过程中比您给的过程好像少一步,少的如下截图。
360截图20190225103747007.jpg
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-16 19:01 , Processed in 0.050170 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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