index+smalll+if+row组合函数一对多条件查询
来源:网络收集 点击: 时间:2024-02-17例如下图中,我们根据耕段泛左侧表格中内容,需要函数统计出客户san(绿色填充部分)所特劫对应激侵的各项内容(黄色填充部分)。

在A2中录入公式“=IF($A$2:$A$7=san,ROW($A$2:$A$7),10^10)”,并按alt+ctrl+enter键结束(因为这个是数组公式)。把这个公式抹黑,按F9,看看这个公式返回{2;10000000000;10000000000;5;10000000000;7}
需要注意的是10^10只是一个很大的值,为避免函数返回错误值,我们定义查找到客户不是san时返回10^10行,当然也可以用其他很大的值。
这里用了一个IF函数和row函数查找到了A列中所有客户是san的行数2;5;7。


在E4中录入公式:“=SMALL(IF($A$2:$A$7=san,ROW($A$2:$A$7),10^10),ROW(1:1))”按alt+ctrl+enter键结束。把这个公式抹黑,按F9,返回{2}
这个过程含义是把客户是san的行数排序。返回第一个是客户是san的行数,以便于我们下面引用这个行数。


在E6中录入公式:“=INDEX(B:B,SMALL(IF($A$2:$A$7=san,ROW($A$2:$A$7),10^10),ROW(1:1))),按alt+ctrl+enter键结束。把这个公式抹黑,按F9,返回100
这个过程含义是用index函数匹配B列我们需要的值,index函数有两个参数,第一个参数区域我们要匹配B列的值,用B:B,第二个参数就是第二步中我们查找并排序用的行数2,显然,函数在区域B:B中第二行是100.


好了,为便于演示,我们把E6中的公式复制到F2中,如图。

把鼠标放在F2,向下向右拉鼠标,就把客户san对应的各项内容统计出来了。

我们发现,不符合条件的部分为0,为去掉这些不需要的0,我们在原来函数公式后面添上“”,再 向下向右拉鼠标,即把这些不需要的0去掉了。
是文本合并运算符,是空文本,公式:表示将公式的运算结果与空文本合并。

若此经验对您有帮助,请投我一票,万分感谢!!!!!
函数版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、文章链接:http://www.1haoku.cn/art_62288.html