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

如何查找表格中排名第1的人员姓名?LOOKUP/VLOOKUP报错求解

公式报错原因及正确写法

错误原因

两个公式报错均为参数使用、引用范围不符合函数规则导致:

  • =VLOOKUP(1;D2:H19;1)错误点:
    • VLOOKUP要求查找值必须在所选查找区域的第一列,你选的D2:H19第一列是存排名的D列,返回列序号填1只会返回D列的排名值,根本没有覆盖姓名列
    • 缺失匹配类型参数,VLOOKUP默认走近似匹配,要求查找区域第一列必须升序排列,否则直接返回错误结果
  • =LOOKUP(1;D2:H19;1)错误点:
    • LOOKUP向量形式要求第二个参数是单行/单列的查找范围,第三个参数是和查找范围同尺寸的返回范围,传入多行多列区域+数字1完全不符合参数规范
    • LOOKUP原生为近似匹配设计,要求查找范围升序,直接用于精确查找结果不可控

参考表格结构:
表格示例截图

表格中排名存储在D列,待返回的姓名存储在B列,数据行范围为2-19行,可按使用的软件版本选对应公式:

正确公式

  • 新版Excel、WPS(支持XLOOKUP)优先用此写法,无列位置、排序限制:
=XLOOKUP(1;D2:D19;B2:B19;"无匹配";0)

最后一个参数0代表精确匹配,不需要提前对排名列排序。

  • 旧版Excel(无XLOOKUP)用INDEX+MATCH通用组合,兼容性最强:
=INDEX(B2:B19;MATCH(1;D2:D19;0))

逻辑:先用MATCH精确找到排名1在D列的行位置,再用INDEX从B列对应行取姓名值。

  • 硬要用VLOOKUP的话,需先构造排名列在最左侧的数组区域,同时补全精确匹配参数(写法冗余,不推荐):
=VLOOKUP(1;CHOOSE({1\2};D2:D19;B2:B19);2;0)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 04:48:16