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

多列值匹配命名范围对应值,应使用VLOOKUP还是DGET?

结论

你这个多条件匹配返回对应值的场景,更推荐使用DGET,而非VLOOKUP。

原因说明

  • VLOOKUP本身只支持匹配查找范围的第一列,如果要实现A、B两列同时匹配的需求,你需要额外新增辅助列把A、B列的值拼接后作为查找主键,或者使用复杂的数组公式才能实现,操作门槛更高也容易出错。
  • DGET天生支持多条件匹配,完全适配你当前的需求:它可以从指定的数据库范围里,返回满足所有给定条件的对应字段值。

具体用法

假设你要在G2单元格输入公式,已设置的A2:C8命名范围为data_range,表头分别为「列A标题」「列B标题」「列C标题」(实际使用替换成你表格里的真实表头即可),公式写法如下:

=DGET(data_range, "列C标题", {"列A标题","列B标题"; E2, F2})

如果你的表格没有设置表头,也可以直接用列号指代返回列,比如要返回第3列(C列)就把第二个参数改成3即可。

注意事项

如果你的A、B列存在重复的组合值,DGET会返回#NUM!错误,遇到这种情况需要先排查原始数据的重复问题。
如果确实需要用VLOOKUP实现,也可以用拼接的方式,示例写法如下(无需辅助列的数组版本,谷歌表格直接支持):

=ARRAYFORMULA(VLOOKUP(E2&F2, {A:A&B:B, C:C}, 2, FALSE))

但这种写法的可读性和可维护性远低于DGET,因此更推荐前者。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 01:45:04