本帖最后由 Ellia.Duan 于 2024-3-11 09:41 编辑
您好,经调研,性能问题出在'期后开票汇总' 这个sheet中J:L 包含 12000 个数组公式的
=IFERROR(VLOOKUP(A3181&B3181,IF({1,0},'D:\2023年审\紫江企业\紫丹食品\存货资料\发出商品明细\[发出商品期后查验2023.xlsx]已开票'!$A$2:$A$12584&'D:\2023年审\紫江企业\紫丹食品\存货资料\发出商品明细\[发出商品期后查验2023.xlsx]已开票'!$D$2:$D$12584,'D:\2023年审\紫江企业\紫丹食品\存货资料\发出商品明细\[发出商品期后查验2023.xlsx]已开票'!$H$2:$H$12584),2,0),0)
这将执行 12584 次字符串 join(&)。
为此,上传了新文件,计算大约需要 3 秒钟。该文件添加了 的中间数据
'D:\2023年审\紫江企业\紫丹食品\存货资料\发出商品明细\[发出商品期后查验2023.xlsx]已开票'!$A$2:$A$12584&'D:\2023年审\紫江企业\紫丹食品\存货资料\发出商品明细\[发出商品期后查验2023.xlsx]已开票'!$D$2:$D$12584
并在在 '期后开票汇总'!M 列添加了 =MATCH(A4 & B4, Sheet1!A:A,0) 对一行进行一次查找。
|