问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

excel函数获取与满足多个查找条件的所有值

发布网友 发布时间:2024-08-18 02:43

我来回答

1个回答

热心网友 时间:2024-08-23 09:31

excel函数获取与满足多个查找条件的所有值?如下图1所示,单元格区域A1:E25中存放着数据,列D中是要查找的值需满足的条件,列I和列J中显示查找到的结果,示例中显示的是1月份南区超市销售的蔬菜及其数量。

图1

要求在I2中输入公式,向右向下拖拉以获取全部满足条件的数据。

先不看答案,自已动手试一试。

公式

在单元格I2中输入数组公式:

=IF(COUNTIFS($A:$A,$G$6,$B:$B,$G$9,$C:$C,$G$3)<ROWS($I$2:I2),””,INDEX(D:D,SMALL(IF(($A$2:$A$25=$G$6)+($B$2:$B$25=$G$9)+($C$2:$C$25=$G$3)=3,ROW($C$2:$C$25)),ROW(C1))))

向右向下拖拉至出现空单元格。

公式解析

公式中的:

COUNTIFS($A:$A,$G$6,$B:$B,$G$9,$C:$C,$G$3)<ROWS($I$2:I2)

用来计算符合条件的结果数(本例中为5),并与已放置值的单元格数(已返回的值)相比较,以确定在单元格中输入相应的值还是输入空。

公式中的:

($A$2:$A$25=$G$6)+($B$2:$B$25=$G$9)+($C$2:$C$25=$G$3)=3

转换为:

{TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;FALSE;FALSE;TRUE;TRUE;FALSE;FALSE}+($B$2:$B$25=$G$9)+($C$2:$C$25=$G$3)=3

转换为:

{TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;FALSE;FALSE;TRUE;TRUE;FALSE;FALSE}+{FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE}+($C$2:$C$25=$G$3)=3

转换为:

{TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;FALSE;FALSE;TRUE;TRUE;FALSE;FALSE}+{FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE}+{FALSE;FALSE;TRUE;TRUE;FALSE;TRUE;FALSE;FALSE;TRUE;TRUE;FALSE;TRUE;FALSE;FALSE;TRUE;TRUE;FALSE;TRUE;FALSE;FALSE;TRUE;TRUE;FALSE;TRUE}=3

转换为:

{1;1;2;2;1;2;0;0;1;1;0;1;2;2;3;3;2;3;1;1;3;3;1;2}=3

数组中有5个3,表明有5条数据满足条件。得到:

{FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;TRUE;TRUE;FALSE;TRUE;FALSE;FALSE;TRUE;TRUE;FALSE;FALSE}

代入IF语句中:

IF(($A$2:$A$25=$G$6)+($B$2:$B$25=$G$9)+($C$2:$C$25=$G$3)=3,ROW($C$2:$C$25))

转换为:

IF({FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;TRUE;TRUE;FALSE;TRUE;FALSE;FALSE;TRUE;TRUE;FALSE;FALSE},ROW($C$2:$C$25))

得到:

{FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;16;17;FALSE;19;FALSE;FALSE;22;23;FALSE;FALSE}

代入SMALL语句中:

SMALL(IF(($A$2:$A$25=$G$6)+($B$2:$B$25=$G$9)+($C$2:$C$25=$G$3)=3,ROW($C$2:$C$25)),ROW(C1))

转换为:

SMALL({FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;16;17;FALSE;19;FALSE;FALSE;22;23;FALSE;FALSE},1)

得到:

16

注意,当公式向下拖拉时,ROW(C1)将更新为ROW(C2)、ROW(C3)……,得到值2、3……等,从而可以获取相应位置的值。

代入INDEX语句中:

INDEX(D:D,SMALL(IF(($A$2:$A$25=$G$6)+($B$2:$B$25=$G$9)+($C$2:$C$25=$G$3)=3,ROW($C$2:$C$25)),ROW(C1)))

转换为:

INDEX(D:D,16)

得到单元格D16中的值:

土豆

由于COUNTIFS($A:$A,$G$6,$B:$B,$G$9,$C:$C,$G$3)<ROWS($I$2:I2)转换为:

5<1

结果为:

False

因此,该单元格中的公式返回的结果为:土豆

其余单元格公式转换原理可依此类推。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
我梦见一条蛇,谁能解梦? ...战地3港版,多人联网要求ea账号,于是用电脑注册了一个,用ps3登入提... 谁给推荐几个不花钱的好玩的游戏啊!无聊中... 天气潮汐预报app哪个好用 涨潮有什么软件 墨迹天气怎么看潮汐时间 墨迹天气潮汐预报设置教程 哪种天气预报能看潮汐 小米手机开发者模式在哪里关闭?小米手机开发者模式 上海行迈企业管理咨询有限公司讲师介绍 赵继红培训课程 excel中vlookup函数如何实现多个值匹配? 在EXCEL表中如何快速查找3个值 如何在一个Excel表格里取多个数据? qq下载的安装包在哪里啊? 如何在Excel表格中一对多的查找数据? 亚圣孟子一生的成就有哪些孟子主张什么 qq下载的安装包在哪个文件夹? 汶川大地震天亮了2008年原唱谁唱的 四川大地震的那首歌名 山楂籽几月适合做手串 伤心难过一个人的网名 苦涩伤心的网名 帮我把这小说封面修改成起点网的尺寸 唯一的意思唯一的含义 昆明的雨--旧版书系内容简介 什么情况下可以复婚 米兰的墙布 如何申报破产债权,申报破产债权应注意什么问题? 企业破产法补充申报的规定是什么? 李强律师:在债权申报期内未申报债权,可以补充申报吗? 债权人应该如何正确申报债权 ExcelVLOOKUP函数怎么查询一个值返回多个结果 ps怎么做头像外面框ps如何做头像边框教程 抖音头像红圆圈怎么弄的 中小学教师十项行为准则内容中小学教师十项行为准则 怎么用美图秀秀给头像添加闪图? 怎么用手机传电脑文件? 如何在excel中保留一位小数? 如何在家里做瘦身(减肥) 如何用excel筛选出数量最多的数据? excel怎么查找多个不同的数据excel怎么查找多个不同的数据并求和 苹果手机不能打电话能流量上网怎么回事? 2022金融数学专业就业方向 找什么工作 两张Excel表格,要把其中一张多出来的数据找出来,请问要怎么弄呢 2022金融数学专业适合男生学吗 前景怎么样 拉菲德堡衣柜 2022年金融专业主要学什么 二本金融专业好就业吗 正五边形和半圆形 163邮箱怎么找回账号? 百度手机助手清理出的这些大文件都不知道是什么,又不敢随便删除,求知道... 如何编辑PPT里的图表数据