如何根据另一表格的值对指定类型单元格应用不同计算表达式
Google Sheets 公式解决方案
方法一:ARRAYFORMULA + QUERY 组合
假设源数据在 A1:C5 区域(表头为 A1:C1),使用以下公式可一次性生成符合要求的结果:
=ARRAYFORMULA(QUERY({A2:A, IF(C2:C=TRUE, B2:B*2, B2:B+1), C2:C}, "SELECT Col1, Col2, Col3 WHERE Col1=1", 0))
{A2:A, IF(C2:C=TRUE, B2:B*2, B2:B+1), C2:C}:构建虚拟数组,整合Type列、按条件计算后的数值列、Condition列ARRAYFORMULA:让IF和QUERY支持批量数组运算,无需逐行手动填充QUERY语句:筛选出Type=1的行,0表示不读取源数据的表头
如果需要直接生成带表头的完整结果表格,用以下公式:
={{"Type", "Calculated", "Condition"}, ARRAYFORMULA(QUERY({A2:A, IF(C2:C=TRUE, B2:B*2, B2:B+1), C2:C}, "SELECT Col1, Col2, Col3 WHERE Col1=1", 0))}
方法二:FILTER + IF 组合
这个方法逻辑更直观,直接完成筛选与计算:
=FILTER({A2:A, IF(C2:C=TRUE, B2:B*2, B2:B+1), C2:C}, A2:A=1)
IF(C2:C=TRUE, B2:B*2, B2:B+1):根据Condition的值执行对应计算逻辑FILTER:直接提取Type=1的所有行,自动适配数组运算
内容的提问来源于stack exchange,提问作者ohGoogleSheet
相关产品推荐
相关产品推荐

