嵌套IF/AND/OR的ArrayFormula失效,求排查与优化方案
Google Sheets 自动设置员工疫苗状态的ArrayFormula解决方案
最终可用公式
在Status列的首个数据单元格(如F2)输入以下公式,即可自动为新增员工同步状态:
=ARRAYFORMULA(IF(A2:A="", "", IF(OR(D2:D="Yes", E2:E="Yes"), "Boosted", IF(C2:C="Yes", "Vaccinated", IF(B2:B="Yes", "Religious Exemption", "Unvaccinated") ) ) ))
状态判断逻辑
- 空行处理:先检查A列(员工姓名)是否为空,为空则返回空值,避免无效填充
- Boosted:只要加强针(D列)或第三针(E列)标记为"Yes",优先判定为此状态
- Vaccinated:基础疫苗(C列)标记为"Yes"时判定
- Religious Exemption:宗教豁免(B列)标记为"Yes"时判定
- Unvaccinated:以上条件均不满足时自动标记
原公式失效原因说明
之前嵌套IF/AND/OR的ArrayFormula无法正常工作,通常是两个原因:
- 未处理空行,导致公式遍历整列时触发不必要的逻辑判断
- AND/OR函数在ArrayFormula中需配合数组写法使用,直接嵌套会导致行遍历异常
内容的提问来源于stack exchange,提问作者Nick Z
相关产品推荐
相关产品推荐

