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

Google Sheets中OR语句未执行精确匹配问题求助

解决Google Sheets数组公式中OR函数的逐行判断问题

你的公式出错的核心原因是:OR函数属于聚合函数,在ArrayFormula中使用时,它不会逐行判断每个单元格的条件,而是对整个B2:B区域的条件做整体判定——只要区域内存在任意一个单元格满足B2:B="BRKW"或B2:B="GKW1-2",整个OR表达式就会返回TRUE,导致所有行都执行第一个IF分支,而非仅针对符合条件的行。

要实现逐行的精确匹配判断,需要将OR替换为数组兼容的条件写法,以下两种方式均可:

方式一:布尔值相加判断

利用Google Sheets中布尔值自动转换为1/0的特性,相加结果大于0即表示至少一个条件成立:

={"Formula";ArrayFormula(
      if(
        (B2:B="BRKW")+(B2:B="GKW1-2")>0,
        if(
          D2:D <= A2:A,
          D2:D,
          A2:A
        ),
        "abc"
      )
)}

方式二:REGEXMATCH精确匹配

通过正则表达式指定精确匹配的目标值:

={"Formula";ArrayFormula(
      if(
        REGEXMATCH(B2:B, "^(BRKW|GKW1-2)$"),
        if(
          D2:D <= A2:A,
          D2:D,
          A2:A
        ),
        "abc"
      )
)}

修正后,仅B列单元格精确等于"BRKW"或"GKW1-2"的行才会执行第一个IF分支,其他行(如B列是"BKW"的行)会返回"abc"。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 14:45:55