美文网首页EXCEL韩老师讲Office工具癖
Excel145 | INDEX+SMALL,一对多查找的又一犀

Excel145 | INDEX+SMALL,一对多查找的又一犀

作者: bitterfleabane | 来源:发表于2017-11-15 09:26 被阅读24次

韩老师曾经写过一篇:Excel | VLOOKUP一对多查找:不连续相同内容对应的多个数据一次提取,今天有朋友说:这个公式写起来好麻烦啊!

我们的“office天天学”群里有位高手朋友说他更喜欢INDEX+SMALL,那韩老师今天就把INDEX+SMALL这一神组合完成一对多查找的方法给大家讲一讲。

结果是这样的:

公式实现

在F2单元格输入公式:

=INDEX(B:B,SMALL(IF(A$2:A$13=E$2,ROW(A$2:A$13),ROWS(B:B)),ROW(A1)))&"",以三键组合结束。

公式分步解析

我们以查找“张二”的消费记录为例来分析:

第一步:

IF(A$2:A$13=E$2,ROW(A$2:A$13),ROWS(B:B))

用IF函数,建立一新的数组,这一新的数组建立的规则是:

如果A$2:A$13区域中的单元格内容等于E2单元格内容,则返回该单元格所在的行,否则返回整个工作表的行数。

所以:此部分返回的数组是:

{1048576;3;1048576;1048576;1048576;7;1048576;1048576;10;1048576;1048576;13}

可以看到:凡是A列单元格内容等于张二的,返回的都是对应的行数,不等于张二的,返回的都是工作表的行数1048576。

第二步:

SMALL(IF(A$2:A$13=E$2,ROW(A$2:A$13),ROWS(B:B)),ROW(A1)

在第一步形成的数组中,查找第第一小的数值。

用ROW(A1)做SMALL函数的第二个参数,即第几小。

ROW(A1)是一个动态的数值,公式往下填充一行,行数加1,即当公式在F2单元格时,是ROW(A1),当公式填充到F3单元格是,是ROW(A2),当到F4单元格时,是ROW(A3)……

这样,就在第一步的数组中找到了第1、2、3、4小的值,即3、7、10、13。

第三步:

INDEX(B:B,SMALL(IF(A$2:A$13=E$2,ROW(A$2:A$13),ROWS(B:B)),ROW(A1)))

当公式在F2单元格时,返回B列第3行的值,即张二的第一次消费记录7478。因为公式中IF部分是数组计算,所以公式以三键组合结束。

公式向下填充,得到B列第7、10、13行的值。

第四步:

INDEX(B:B,SMALL(IF(A$2:A$13=E$2,ROW(A$2:A$13),ROWS(B:B)),ROW(A1)))&""

在最后加上&"",这一步是容错处理。用空单元格与空文本合并返回空文本的特性,将超出结果数量的部分不显示出来。

相关文章

  • Excel145 | INDEX+SMALL,一对多查找的又一犀

    韩老师曾经写过一篇:Excel | VLOOKUP一对多查找:不连续相同内容对应的多个数据一次提取,今天有朋友说:...

  • Excel中一对多查找

    对于当前的环境来说,你遇到的问题,都能从网上找到解决方案。 今天分享的是通过微信朋友圈收到的一篇EXCEL文章关于...

  • Excel206 | VLOOKUP函数使用方法之高级篇——一对

    如下图: 如何用一个公式查找出“鼠标”的多次进货数量? VLOOKUP函数能帮你完成这种“一对多”查找的问题。 视...

  • INdex+Small

    今天说一个函数查询方面的万金油套路:Index+Small。 F2单元格输入以下数组公式,按住Ctrl+Shift...

  • flask-分页、模型对应关系

    一、分页 二、模型关系 1.一对多 学生类 班级类 绑定学生和班级关联关系 通过班级查找学生信息 通过学生查找班级...

  • 犀溪,犀溪,哦,犀溪……

    如果玩过一趟,还滋味隽永,想着一定再来一趟的,犀溪的漂流一定算一个; 如果去过一回,依然回味无穷,心里暗下决心每年...

  • 问:什么东西最能导致财富损失? 答:灰犀牛。 问:什么东西最能带来财富和幸福? 答:灵犀。 问:同样是犀,差距为什...

  • 今日学习课题:函数的综合应用

    看到销售明细表非常亲切,因为这是我日常要做的报表,经常会为了几个数据在好几个表格中导来导去。关于一对多查找,或者多...

  • 又一对CP?

    一直看檀健次跳舞,最近有机会看他演得电视剧,感觉很不一样。 为什么感觉杜城和沈翊是一对CP呢?一个高大威猛,一个娇...

  • MongoDB文档之间的关系

    一对一(one to one)一对多(one to many)多对多(many to many) 一对一 一对多 多对多

网友评论

    本文标题:Excel145 | INDEX+SMALL,一对多查找的又一犀

    本文链接:https://www.haomeiwen.com/subject/ufqcvxtx.html