前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Excel公式技巧78:近似查找

Excel公式技巧78:近似查找

作者头像
fanjy
发布2021-01-06 09:44:43
1.2K0
发布2021-01-06 09:44:43
举报
文章被收录于专栏:完美Excel

学习Excel技术,关注微信公众号:

excelperfect

有时候,我们要查找的数值在某一范围内,如何才能找到对应的值?如下图1所示。

图1
图1

当我们在单元格E1中输入价格11.32时,使用经典的INDEX/MATCH函数组合,肯定能查到其对应的商品为“枕芯”。然而,如果输入的价格有一定的误差,例如正负相差1,如何也能查找到对应的商品。仍然使用经典的INDEX/MATCH函数组合,只是在公式中额外增加了IFERROR函数和逻辑运算。在单元格E3中输入数组公式:

=IFERROR(INDEX(表1[商品],IFERROR(MATCH($E$1,表1[价格],0),MATCH(1,(表1[价格]>($E$1-1))*(表1[价格]<($E$1+1)),0))),"没有找到")

公式中,“表1”是数据所在的表名,本例中为单元格区域A1:B8。

公式中:

MATCH($E$1,表1[价格],0)

简单地在表1的价格列中查找单元格E1中的值并返回其位置。如果没有找到,则IFERROR函数计算其第2个参数:

MATCH(1,(表1[价格]>($E$1-1))*(表1[价格]<($E$1+1)),0)

查找是否存在指定价格在正负1范围的值,示例中该部分可转换为:

MATCH(1, {0;1;0;0;0;0;0},0)

得到在此范围内的值的位置。

因此,公式中的第二个IFERROR函数要么返回与指定价格精确匹配的值的位置,要么返回与指定价格相差1的值的位置,将返回的结果作为INDEX函数的第2个参数,从表1中的商品列提取值。如果没有找到指定的价格,则返回错误值,此时第一个IFERROR函数返回“没有找到”。

欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-12-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 完美Excel 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档