You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Sheets Apps Script自定义函数Dn返回空白单元格的解决咨询

解决Google Apps Script中Dn函数返回空白的问题

问题出在变量作用域上:你在Dn函数外部声明了let n;,但在for循环里又用let n=0重新声明了一个仅在循环内部有效的局部变量。循环结束后,外部的n依然是未定义状态,所以函数返回空白。

修改方法很简单,去掉for循环里的let,直接使用外部声明的n变量:

function Dn(x,y) {
let d;
let n;
// 去掉let,复用外部声明的n变量
for (n=0; x*n+20 < 580;n++){d=x*(n+1)+20;}
if (d>y) {return "NOT VALID";} else {return n;}  
} 

修改后,调用=Dn(200,1320)时,循环结束后n会保留最终的有效值(此处为3),函数就能正常返回结果了。

对比Deckel函数,它返回的d变量始终使用外部声明的实例,没有在循环内重新定义,所以能正常返回值。

内容的提问来源于stack exchange,提问作者Sensebe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 15:17:43