夜雨聆风学习资料网

ARTICLE · 1287168

Excel 查找与定位函数:VLOOKUP、INDEX+MATCH、LOOKUP、OFFSET

Excel 查找与定位函数:VLOOKUP、INDEX+MATCH、LOOKUP、OFFSET

Excel 查找与定位函数:VLOOKUP、INDEX+MATCH、LOOKUP、OFFSET

拿一张订单编号去另一张表里把对应价格找回来,是 Excel 里最高频的操作,没有之一。VLOOKUP 大名在外,但遇到"要往左找""要同时满足两个条件"就会卡壳,这时候 INDEX+MATCH、LOOKUP 数组写法、OFFSET 才显出本事。

VLOOKUP 纵向查找

语法 =VLOOKUP(查找值, 查找区域, 返回第几列, 匹配方式)。

• 第四个参数写 0(或 FALSE)是精确匹配,日常几乎都用它;写 1(TRUE)是近似匹配,只在区间表里用。

• 返回第几列,是数"查找区域里从左到右第几列",不是工作表的列号。

举例:

• 用订单编号 10022 找零售价:=VLOOKUP("10022",A2:D9,4,0) 得 40。区域 A2:D9 里零售价在第 4 列。

• 查找值放在 G2 单元格更通用:=VLOOKUP(G2,A2:D9,4,0),下拉时 G2 变 G3,公式跟着换。

VLOOKUP 有两条绕不开的铁律,也是新手出错的重灾区。

1.查找值必须在那片区域的最左列。想按 C 列找、返回 A 列,VLOOKUP 直接无能为力,得换 INDEX+MATCH。

2.第四个参数一定要写 0。不写默认是近似匹配,结果常常张冠李戴。

找不到时 VLOOKUP 返回 #N/A,用 IFERROR 包一下能显示得更好看:=IFERROR(VLOOKUP(G2,A2:D9,4,0),"没找到")。

INDEX + MATCH 组合查找

•=INDEX(区域, 行号, [列号]) 按行列坐标取出交叉处的值。

•=MATCH(查找值, 一列区域, 0) 返回查找值在这一列里排第几行,0 是精确匹配。

组合起来替代 VLOOKUP:

• 还是按订单编号 10022 找零售价:=INDEX(D2:D9,MATCH("10022",A2:A9,0))。MATCH 先在 A 列定位它在第几行,INDEX 从 D 列同一行取值。

• 反过来按 D 列的值找 A 列的编号也照样成立,这正是 VLOOKUP 做不到的从右往左找。

老版本 Excel 用不了新函数时,INDEX+MATCH 是兼容性最好、又比 VLOOKUP 灵活的方案,值得记牢。

LOOKUP 的两种写法

向量形式

语法 =LOOKUP(查找值, 查找向量, 结果向量),在查找向量里找值,返回结果向量对应位置的内容。

•=LOOKUP("10022",A2:A9,D2:D9) 效果和 VLOOKUP 类似。

• 它有个前提,查找向量那列必须升序排列,否则结果不可靠。这一点很多人不知道,查错多半栽在这。

数组形式做双条件查找

巧用 =LOOKUP(1, 0/(条件1*条件2), 结果列) 能一次按多个条件定位,这是老版本里做"多条件查找"的经典招。

• 想同时满足"编号是 10030"且"商品是啤酒"时返回零售价:=LOOKUP(1,0/(($A$2:$A$9=E2)*($B$2:$B$9=F2)),$D$2:$D$9)。

• 原理是 0/(真) 得 0、0/(假) 报错,LOOKUP 在一堆 0 和错误里找 1,只会命中条件都成立的那一行。

OFFSET 按偏移取数

语法 =OFFSET(起点, 下移几行, 右移几列, [取几行高], [取几列宽])。

•=OFFSET(A1,1,3) 从 A1 出发下移 1 行、右移 3 列,落在 D2,返回 D2 的值。

• 后两个参数省略时取单个格子,指定时可返回一片区域,配合 SUM 等做动态汇总。

OFFSET 是"易失性函数",表格一有变动它就重算,大范围高频用时会影响速度,能用 INDEX 替代的场景可以优先考虑 INDEX。

行列定位:ROW、COLUMN、ROWS、COLUMNS

•=ROW(D5) 得 5(在第几行),=COLUMN(D5) 得 4(在第几列)。

•=ROWS(A1:A10) 得 10(这片区域有几行),=COLUMNS(A:D) 得 4(有几列)。

单个看没什么用,组合进别的公式时就活了。比如 =ROW()-1 给数据自动编号,往下填就是 1、2、3;ROW() 配合 MATCH、OFFSET 算动态行号,是搭复杂公式的常用零件。

六个查找函数怎么选

场景
首选
按最左列线索往右取值
VLOOKUP
要往左找、或不想被列位置限制
INDEX + MATCH
老表里做双条件查找
LOOKUP 数组写法
按"起点+偏移"取数、做动态区域
OFFSET
算行号列号当公式零件
ROW / COLUMN / ROWS / COLUMNS

感谢阅读,欢迎关注我的公众号

扫码关注「Hai分享」,获取更多干货内容

回首页,搜索你想要的文档

在首页搜索框输入关键词,快速定位资料

文库首页搜索指引 立即搜索

相关学习资料