Excel名称管理器中Lambda自定义函数出现#VALUE!错误求助
Excel 命名Lambda函数打开后返回#VALUE!,编辑名称即可恢复的异常问题
自定义Lambda函数说明
我编写了一个用于坐标插值的Lambda公式,功能类似TREND/LINEST/FORECAST函数,支持处理非连续输入、搜索值超出范围等场景,公式如下:
=LAMBDA(searchvalue,searchrange,valuerange, LET( LB,XLOOKUP(searchvalue,searchrange,searchrange,,-1), UB,XLOOKUP(searchvalue,searchrange,searchrange,,1), LV,XLOOKUP(searchvalue,searchrange,valuerange,,-1), UV,XLOOKUP(searchvalue,searchrange,valuerange,,1), IF(searchvalue<=MIN(searchrange),UV, IF(searchvalue>MAX(searchrange),LV, IF(LB=UB,AVERAGE(LV,UV), LV+(searchvalue-LB)/(UB-LB)*(UV-LV) ) ) ) ))
该函数已通过值和单元格引用测试,确认可用后添加到名称管理器,命名为L_InterpolateX作为自定义函数使用,初始运行正常。
异常现象
次日打开文件后,所有调用L_InterpolateX的公式均返回#VALUE!,但将名称管理器中的Lambda公式直接粘贴到单元格中仍可正常计算。
已尝试的无效解决方法
- 重算工作表/整个工作簿
- 保存文件
- 重启文件(偶尔有效,但效果不稳定)
临时有效方法
进入名称管理器编辑该名称(无需修改公式内容),点击确定后函数即可恢复正常;目前已在工作簿打开事件中添加VBA代码自动执行该修复操作,但希望避免使用宏实现。
请问是否有人遇到过这类Excel命名Lambda函数的加载异常?有没有无需依赖宏的设置或方案,能让这个自定义函数稳定可靠运行?
内容的提问来源于stack exchange,提问作者Emmanuel D
相关产品推荐
相关产品推荐

