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

Google App Script 校验另一工作表值存在且相邻单元格非空后弹窗实现问题

表单校验逻辑修改实现

你需要的核心调整是在筛选匹配行时,额外判断目标值对应的相邻单元格是否为空,这里默认相邻单元格为目标值所在位置的右侧相邻单元格,如果是左侧相邻只需修改代码中列索引的偏移量即可,修改后的完整代码如下:

var valueToSearch2 = formS.getRange("B5").getValue();
var logSValues = logS.getDataRange().getValues();
// 筛选同时满足两个条件的行:包含目标值、且目标值对应的右侧相邻单元格不为空
if(logSValues.filter(row => {
  const targetIndex = row.indexOf(valueToSearch2);
  // 确认目标值存在且相邻列未超出当前行的列范围、且值不为空
  return targetIndex > -1 && targetIndex < row.length -1 && row[targetIndex + 1] !== "";
}).length > 0) {
  SpreadsheetApp.getUi().alert("Stop Processing");
  return;
}

调整说明

  • 原有逻辑仅判断行是否包含目标值,新增了indexOf定位目标值在当前行的具体列位置
  • 新增相邻单元格非空判断逻辑,同时添加了列索引边界校验,避免因目标值在最后一列导致的索引越界报错
  • 如果你要判断的是目标值左侧的相邻单元格,把row[targetIndex + 1]改成row[targetIndex - 1],同时把边界判断条件targetIndex < row.length -1改成targetIndex > 0即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 09:24:03