http://www.officezhushou.com/excelhansu/5464.html

首先呢,INDEX函数+MATCH函数嵌套的最基本格式如下:

index(序列1,match(值,序列2,0))

其含义为:

根据“值”在序列2中的位置,得出序列1中相同位置的值(模糊查找时,最后参数也可能是1、-1)。

这个看似和vlookup函数很像,但它不需要源数据的严格对齐,也不需要查找值必须在首列,更为灵活一些~

实例如下:

这样的反向查找,其实用VLOOKUP、LOOKUP、INDEX+MATCH都是可以做到的,3个公式分别如下:

VLOOKUP法:

=VLOOKUP(E3,IF({1,0},$C$2:$C$9,$B$2:$B$9),2,FALSE)

LOOKUP法:

=LOOKUP(1,0/($C$2:$C$9=E3),$B$2:$B$9)

INDEX+MATCH法:

=INDEX($B$2:$B$9,MATCH(E3,$C$2:$C$9,0))

这个基本实例中,序列1就是B2:B9,序列2是C2:C9,查找值是E3。以上,可见3者异同。

除了以上的基本情景,INDEX+MATCH嵌套也可能会用在其他的怪异需求中。

比如下面的例子:

要将B列内容各自重复C列指定的次数,形成一个新的序列。

首先,我们想到用INDEX来提取B列内容:

=INDEX($B$14:$B$17,X)

只是,这个X应该是什么呢?

它得是一个在下拉的时候,前6个取值是1,然后2个2,然后5个3,然后3个4,这样的序列。

我们自然想到,先将频次序列{6,2,5,3}变成累计序列{6,8,13,16},然后从0开始对它进行模糊查找,如下:

=MATCH(ROW(A1)-1,{6,8,13,16},1)

(下拉)

这时,得到了这样一个序列:

{#N/A,#N/A,#N/A,#N/A,#N/A,#N/A,1,1,2,2,2,2,2,3,3,3}

这个序列,离我们想要的序列还有两点不同:1都变成了错误值,后面的取值也都少了1;据此可以在后面+1,前面增加IFERROR:

=IFERROR(MATCH(ROW(A1)-1,{6,8,13,16},1)+1,1)

(下拉)

此时,成功获得了想要的序列X,那么将它替换回原公式,即:

=INDEX($B$14:$B$17,IFERROR(MATCH(ROW(A1)-1,{6,8,13,16},1)+1,1) )

(下拉)

如此,目的实现。

最后,还有一个问题,即公式中的累计序列如何计算得到?

这可以用offset选定区域并求和获得:

=SUBTOTAL(9,OFFSET($C$14,,,ROW($1:$4),1))

(此为数组公式)

即将C14分别向下1、2、3、4格的区域求和。

用以上公式替代掉{6,8,13,16},则最终的公式为:

=INDEX($B$14:$B$17,IFERROR(MATCH(ROW(A1)-1,SUBTOTAL(9,OFFSET($C$14,,,ROW($1:$4),1)),1)+1,1))

以上是数组公式,需三键结束,下拉。

转载于:https://blog.51cto.com/1971372/2143387

INDEX函数与MATCH函数嵌套使用技巧相关推荐

  1. Excel第25享:index函数与match函数的嵌套联合定位

    1.需求描述 如下图所示,表1中的人员需要从表2中获取"内部管理""产品研发""售前支持""市场营销"等类型的数据. 2 ...

  2. 利用ISERROR()函数和match()函数进行数据比对

    在Excel中通过比较两列中的数据来查找重复项.如果A列的数据没有在B列出现过,就保留单元格为空.如果A列的数据在B列出现过,就返回A列对应的数据 C1单元格公式:=IF(ISERROR(MATCH( ...

  3. Excel教程中INDEX和MATCH函数应用

    第一,MATCH函数用法介绍 MATCH函数是Excel教程中的一个查找函数.MATCH 函数会返回匹配值的位置而不是匹配值本身.在使用时,MATCH函数在众多的数字中只查找第一次出现的,后来出现的它 ...

  4. EXCEL中使用index+match函数进行查找匹配

    经常我们需要从一列值中在另一部分对应表中查找匹配相应的值,举个例子: A B C 1 姓名 语文 数学 2 李四 87 69 3 王五 67 98 4 张三 89 66 5 马六 55 91 现在我在 ...

  5. 一文搞懂VLOOKUP、INDEX、MATCH函数

    最近,在学习数据分析方向的东西,众所周知,Excel是数据分析所不可或缺的工具,由于过往并没有对Excel进行过深入研究,因此当首次接触到Excel中的函数时,不可避免地被其中一些函数的逻辑绕得有些晕 ...

  6. 结合index和match函数在Excel中完成快速查找

    今天在CSDN的回答栏目看到一个问题:Excel如何根据两列条件查找另一张表的行和列? 如这个例子中呈现的,右表是三种水果国产/进口的单价,左表前两列分别对应的是水果的名称和进口/国产类型,想请问左表 ...

  7. Excel函数词典(483个函数说明 Excel函数公式Excel小技巧

    Excel函数词典(483个函数说明 Excel函数公式Excel小技巧 函数 类别 属性 新函数 说明 语法 BETADIST 兼容性函数 被替换 BETA.DIST 返回累积 beta 概率密度函 ...

  8. linux match函数,awk之match函数

    功能:match函数是用于个性化定制搜索模式. 例子: 文件内容: this is wang ,not wan that is chen, not che this is chen ,and wang ...

  9. python中search和match的区别_Python中正则表达式match()、search()函数及match()和search()的区别详解...

    match()和search()都是python中的正则匹配函数,那这两个函数有何区别呢? match()函数只检测RE是不是在string的开始位置匹配, search()会扫描整个string查找 ...

  10. Excel中MATCH函数的正确使用

    Excel中MATCH函数是一个很强大的辅助函数, MATCH函数语法为:MATCH(lookup_value,lookuparray,match-type) lookup_value:表示查询的指定 ...

最新文章

  1. mac r 导出csv文件_每天学习一点R:8.数据的导入和输出
  2. xxl子任务_阿里面试官:聊一下分布式任务调度有那些解决方案?
  3. PE文件数字签名信息读取存储及格式具体解释图之上(历史代码,贴出学习)
  4. 004_JavaScript版本
  5. 海外观察丨未来 10 大科技趋势预测全解读(上)
  6. [USACO Mar08] 牛跑步 --k短路
  7. kaggle中的分类比赛为什么可以提交浮点数作为submission
  8. arcgis python脚本筛选与线共边的面_ArcGis Python脚本——遍历输出面或折线要素的折点坐标...
  9. html表格在页面间距,在CSS中设置单元格和单元格间距?
  10. vba上传文件到ftp服务器指定目录下面
  11. docker-compose参数介绍
  12. 一次恢复outlook express通讯录文件*.wab的经历
  13. FLEX- MDI窗口开发实例
  14. Q89:全局光照(Global Illumination)——Path Tracing(只用于间接光照)
  15. linux使用iptables屏蔽ip段,利用iptables屏蔽IP段
  16. 同一局域网下windows主机和wsl子系统相互网络服务访问
  17. 表示 (Representation):特征工程
  18. 电总协议串口调试助手
  19. PHP网页截取快照:PHP截取网站网页保存为一张图片实现。
  20. java中的控制器_SpringMVC基础(一)_控制器

热门文章

  1. 又十一了,唠唠程序员回家相亲那些段子
  2. 怎么注销百度云服务器账号,百度网盘如何注销账号?百度网盘注销账号的方法步骤...
  3. 【HTML】HTML网页设计----植物网站设计
  4. 手机屏幕密码怎么用计算机解锁,手机屏幕密码忘了怎么解锁
  5. 1024,20个入行故事,浮世中见证着程序员的奋斗
  6. springBoot2学习
  7. TensorFlow——decay设置
  8. vht160什么意思_802.11n 中HT20 HT40是什么意思
  9. 查看网页最后修改时间方法以及原理简介
  10. Google的GDrive美如水中之月