You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Sheets中VLOOKUP与数组公式适配多列匹配问题求助

Google Sheets 批量填充数组公式修正方案

原拖拽公式的核心逻辑可简化——OR(VLOOKUP(...)="-", VLOOKUP(...)<>"-") 是恒成立的冗余条件,可直接移除;而数组公式失效的关键原因是**AND()/OR()函数在ArrayFormula()中无法返回逐行的数组结果**,需用*(逻辑与)、+(逻辑或)替代,同时新增空行过滤规则避免无效计算。

C列(匹配Base参数)

在C1单元格输入以下数组公式:

=ArrayFormula(IF(A2:A="", "", IF(
    (VLOOKUP(A2:A, $G$1:$I$11, 2, FALSE)="Base") + 
    ((VLOOKUP(A2:A, $G$1:$I$11, 2, FALSE)<>"Base")*(VLOOKUP(A2:A, $G$1:$I$11, 3, FALSE)="Base")),
    B2:B,
    ""
)))

D列(匹配Acid参数)

在D1单元格输入以下数组公式:

=ArrayFormula(IF(A2:A="", "", IF(
    (VLOOKUP(A2:A, $G$1:$I$11, 2, FALSE)="Acid") + 
    ((VLOOKUP(A2:A, $G$1:$I$11, 2, FALSE)<>"Acid")*(VLOOKUP(A2:A, $G$1:$I$11, 3, FALSE)="Acid")),
    B2:B,
    ""
)))

E列(匹配H2O2参数)

在E1单元格输入以下数组公式:

=ArrayFormula(IF(A2:A="", "", IF(
    (VLOOKUP(A2:A, $G$1:$I$11, 2, FALSE)="H2O2") + 
    ((VLOOKUP(A2:A, $G$1:$I$11, 2, FALSE)<>"H2O2")*(VLOOKUP(A2:A, $G$1:$I$11, 3, FALSE)="H2O2")),
    B2:B,
    ""
)))

公式说明

  • IF(A2:A="", "", ...):过滤A列空行,避免空单元格返回错误值
  • +替代OR、*替代AND:确保在数组环境下逐行判断条件
  • 移除冗余的恒成立OR条件,提升公式运行效率

内容的提问来源于stack exchange,提问作者Akhmad Fahrudhin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 16:10:55