Deepseek写的万能提取函数,抓取任一文件任一表格任一项目数据,还不用打开文件!

Excel精英培讯 2025-03-21 09:06:45

这样存放表格,会给将来制作汇总报表带来麻烦。比如你想取每个月的资产负债表中的应收账款数据。

如果还是不出兰色所料,你应该是逐个打开表格复制数据粘到汇总表中。找到文件 - 逐个打开 - 找到资产负债表 - 逐个复制粘贴,如果一年12个月报告,就取一个数估计你就要几分钟内时间。为了解决这个难题,兰色给Deepseek发了一个指令:帮编写一个VBA自定义函数,可以不打开excel文件,就可以从其工作簿提取指定工作表指定值后面第N列的数据,=Quzhi(路径工作簿名称,工作表名称,指定的值,N)其中N是指定的值右边第N列

很快Deepseek帮我写了一个自定义函数

接下来就是见证奇迹的时刻了。输入以下公式,不需要打开文件就可以直接提取应1月收账款的数据了。=--quzhi("D:\三大报表\财务报表"&C$3&".xlsx","资产负债表",$B4,2)公式说明:第一个参数是表格路径,第二个参数是从哪个表提取,第三个参数是提取项目,第4个参数是项目右边第几列的值(和Vlookup第3个参数有点像)。两个--是为了把提取的值变成数字。

也许你会说编代码的功夫我都手工粘贴早就完了,嘿嘿,写公式的好处就是可以大批量提取数据。把公式一改,一拖一拉,多个月份多个资产项目的值全都自动提取完成=--quzhi("D:\三大报表\财务报表"&C$3&".xlsx","资产负债表",$B6,2)注:把文件名中的月份引用标题行中的月份

输入新的项目,也是自动提取

总结:用这个函数你可以不打开源文件,从任一Excel文件,任一工作表中提取任一项目(你不需要知道这个项目在哪一行哪一列)后第N列的数据。注意:记得把当前的excel文件另存为启用宏的工作簿(另存为 - 文件类型选启用宏的excel工作簿)

0 阅读:0