请求指导将指定Google Sheets公式转换为ArrayFormula
将Google Sheets公式转换为ArrayFormula的方案
原公式逻辑回顾
原公式针对单个单元格的计算逻辑:
- 若
G3>0且G3是数字:计算(TODAY()-K3) - ((EOMONTH(K3,0)-K3)+10),再取该结果与0的最大值 - 否则:直接取
G3与0的最大值
转换后的ArrayFormula
=ARRAYFORMULA(MAX(0, IF((G3:G>0)*ISNUMBER(G3:G), (TODAY()-K3:K) - ((EOMONTH(K3:K,0)-K3:K)+10), G3:G)))
关键调整说明
- 把单个单元格引用
G3、K3替换为整列范围G3:G、K3:K,让公式自动处理整行数据 - 将原公式中的
SUM(EOMONTH(K3,0)-K3,10)简化为(EOMONTH(K3:K,0)-K3:K)+10,避免SUM在数组运算中出现的维度问题,逻辑完全等价 - 外层包裹
ARRAYFORMULA,触发数组运算模式,一次性计算所有行的结果
注意事项
- 如果数据不是从第3行开始,或需要限制计算范围(比如到第100行),可把
G3:G改成G3:G100、K3:K改成K3:K100 TODAY()是易失性函数,表格每次改动都会重新计算,若需固定日期可替换为静态日期值(比如DATE(2024,5,20))
内容的提问来源于stack exchange,提问作者Skilz Work
相关产品推荐
相关产品推荐

