超168000行Google Sheet按多IF规则用arrayformula填充Column M求助
Google Sheets 大表M列自动填充方案
针对超16万行的表格场景,使用单条ARRAYFORMULA实现整列自动计算,无需手动下拉,运算效率优于多层嵌套IF,完全匹配你给出的判断规则。
- 实现公式,直接粘贴到M2单元格即可自动向下扩展整列:
=ARRAYFORMULA(IF(A2:A="",,IF( (ISBLANK(H2:H)*ISBLANK(L2:L)) + (H2:H="Yes")*(L2:L>TODAY()) + (H2:H="Yes")*ISBLANK(L2:L) ,"Active","Not Active")))
公式说明
- 外层
IF(A2:A="",,)用于过滤空行,避免无数据行生成无效内容拖慢表格运行速度,你可以将A2:A替换为你的表格主键列的对应范围,如果确认所有行都是有效数据也可以直接去掉这层判断。 - 内部用算术运算适配数组运算规则,运算效率更高:乘法
*对应逻辑「且」,加法+对应逻辑「或」,所有命中「Active」的场景直接返回对应值,剩余唯一未命中的「H列为空且L列为过去日期」场景自动返回「Not Active」,无需多层嵌套。
- 外层
注意事项
- 请提前确认L列单元格格式为日期格式,若为文本格式会导致日期判断失效
- 如果表格后续新增行,公式会自动计算新行的M列值,无需额外操作
内容的提问来源于stack exchange,提问作者SL8t7
相关产品推荐
相关产品推荐

