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

Google Sheets 嵌套IF/AND公式转ARRAYFORMULA实现求助

Google Sheets多条件嵌套IF公式转ARRAYFORMULA方案

核心注意点

  • 原生AND函数无法在ARRAYFORMULA中实现逐行判断,需用布尔值乘法替代:AND(条件A, 条件B)等价于(条件A)*(条件B),两个条件同时满足时结果为真
  • 所有单单元格引用要替换为整列引用,比如L2替换为L2:L即可自动向下遍历所有行

转换后可直接使用的数组公式

你可以把以下公式放在你要输出结果的列的第二行(和原单单元格公式起始位置一致),会自动对整列生效:
=ARRAYFORMULA(IF(ISBLANK(N2:N),IF((L2:L>=1)*(O2:O=""),ROUNDUP(L2:L/C2:C),IF((L2:L>=1)*(O2:O="Pallet"),"Pallet",IF(L2:L<1,ROUNDUP(L2:L/C2:C),))),"BO"))

逻辑对应说明

公式完全保留了你原有单单元格公式的所有判断规则:

  1. 首先判断当前行N列是否为空:
    • 不为空直接返回BO
    • 为空则进入下一级判断
  2. 若当前行L列数值≥1且O列为空:返回L列数值除以C列数值的向上取整结果
  3. 若当前行L列数值≥1且O列内容为Pallet:返回Pallet
  4. 若当前行L列数值<1:返回L列数值除以C列数值的向上取整结果

优化提示

如果不需要公式计算无数据的空白行,可以在最外层增加空行判断减少无效计算,示例:
=ARRAYFORMULA(IF(L2:L="",,IF(ISBLANK(N2:N),IF((L2:L>=1)*(O2:O=""),ROUNDUP(L2:L/C2:C),IF((L2:L>=1)*(O2:O="Pallet"),"Pallet",IF(L2:L<1,ROUNDUP(L2:L/C2:C),))),"BO")))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 00:24:01