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

Google Apps Script中IF语句如何同时使用AND与OR逻辑?

在Google Apps Script中正确组合AND与OR逻辑判断

嘿,这个问题其实是JavaScript运算符优先级的典型坑,而Google Apps Script完全遵循JS的逻辑规则,咱们直接按JS的正确写法来就行~

你之前的写法之所以不符合预期,是因为逻辑与(&&)的优先级比逻辑或(||)高,JS会先计算Product == "Shampoo" && Box == "15",再把结果和Box == "17"做或判断——这就导致只要Box是17,不管Product是不是洗发水都会触发操作,完全偏离了你原本的需求。

正确的写法:给OR判断加括号

解决方法很简单,把需要先判断的OR条件用括号括起来,强制JS先计算这部分的逻辑,再和前面的AND结合:

// 注意Google Apps Script里用双竖线||表示OR,不是OR关键字哦
if (Product === "Shampoo" && (Box === "15" || Box === "17")) {
  // 在这里写你要执行的操作,比如:
  // SpreadsheetApp.getActiveSheet().getRange("A1").setValue("符合条件");
  console.log("执行目标操作");
}

更简洁的扩展写法(适合多Box值的情况)

如果之后需要判断的Box编号变多,比如还要加18、19,一个个写||会很繁琐,这时候可以用数组的includes()方法来简化:

const validBoxNumbers = ["15", "17"]; // 把所有符合条件的Box编号放进数组
if (Product === "Shampoo" && validBoxNumbers.includes(Box)) {
  // 执行操作
}

这样代码更易读,后续维护也方便,直接在数组里加新值就行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 03:18:28