需支持C:E动态增列的每行最大值ArrayFormula实现请求
Google Sheets 自动适配新增列的行最大值ArrayFormula实现
需求说明
计算从C4开始的每行中,从C列到所有右侧列的最大值,且表格新增列时,公式能自动将新列纳入计算范围。
实现公式
推荐使用无INDIRECT依赖的简洁方案:
=ArrayFormula(IF(ROW(C:C)<=3,,BYROW(C4:C,LAMBDA(r,MAX(INDEX(r:r,3):INDEX(r:r,COLUMNS(r:r)))))))
公式解析
ArrayFormula:开启数组运算模式,一次性处理所有目标行,无需手动下拉填充IF(ROW(C:C)<=3,,...):跳过前3行(表头区域),仅从第4行开始执行计算BYROW(C4:C,LAMBDA(r,...)):遍历C4到C列最后一个非空行的每一行,r代表当前行的引用MAX(INDEX(r:r,3):INDEX(r:r,COLUMNS(r:r))):INDEX(r:r,3)定位当前行的第3列(即C列)INDEX(r:r,COLUMNS(r:r))定位当前行的最后一列,新增列时该值会自动更新MAX()计算上述区域内的最大值,自动忽略空单元格
备选方案(R1C1引用格式)
若偏好R1C1引用风格,可使用以下公式:
=ArrayFormula(IF(ROW(C:C)<=3,,BYROW(C4:INDEX(C:C,COUNTA(C:C)),LAMBDA(r,MAX(INDIRECT("R"&ROW(r)&"C3:R"&ROW(r)&"C",FALSE))))))
内容的提问来源于stack exchange,提问作者William Toscano
相关产品推荐
相关产品推荐

