如何通过Google Sheets Query函数计算指定列每行最大值并生成新列?
在Google Sheets Query中新增最大值列的实现方案
完全可行,你可以通过数组组合+BYROW函数结合Query来实现自动计算每行第2-7列的最大值,无需手动维护T列。
具体实现步骤
假设你原有的Query函数基于A:L范围查询数据,修改后的公式如下:
=ARRAYFORMULA(QUERY( {A:L, BYROW(B:G, LAMBDA(row, MAX(row)))}, "select Col1,Col2,Col3,Col4,Col5,Col6,Col7,Col8,Col9,Col10,Col11,Col12,Col13 where Col1 is not null label Col13 'Max Score'", 1 ))
公式说明
- 数组组合:
{A:L, BYROW(B:G, LAMBDA(row, MAX(row)))}将原数据范围A:L,与每行B-G(对应原数据第2-7列)的最大值合并成新数组,新增的最大值列作为第13列(Col13)。 - Query查询:在Query语句中选择所有需要的列(包括新增的Col13),通过
label Col13 'Max Score'给最大值列设置表头,同时保留原有的筛选条件(示例中where Col1 is not null)。 - ARRAYFORMULA:确保BYROW和Query的数组计算能逐行生效。
如果你的原Query有特定的筛选或排序条件,直接将其替换到示例中的where子句位置即可,最终结果会自动在Query输出的最后一列生成对应行的最大值,和你手动维护的T列效果完全一致。
内容的提问来源于stack exchange,提问作者3jay1
相关产品推荐
相关产品推荐

