网站首页 > 开源技术 正文
问题求助SOS:两个条件都需要放在数字区间里面进行查询,并返回值,这样的多条件查询应该怎么办?
小编想说,这个案例实在是太太太经典了。
如下图所示:
A1:D4是数据源区域,也是我们的查询区域。列标题包含3个数字区间,行标题包含3个数字区间。
我们想要通过F2单元格的条件1(与列标题数字区间对应)与G2单元格的条件2(与行标题数字区间对应),这两个条件找到A1:D4数据源二维值区域的对应值。比如“7”位于数据源的第C列(5-10区间),“1.5”位于数据源的第3行(1-2区间),那么C列与第3行的交叉位置对应值为“E”。
两个条件均不含负值。
遇到这样的问题,你是不是还在傻傻的嵌套IF函数,不得搞个10层8层的,还自我感觉自己函数运用能力超级强,其实这种做法大错特错了。运用这种方法,不仅不能体现自己的技术高,还会被其他同事嘲笑不会“偷懒”找巧法。
要远离IF多层嵌套,遇到数字区间里的多条件查询,一定要用frequency函数。
FREQUENCY函数用于计算数值在指定区间内的出现频数,然后返回一个垂直数组。
常规语法:
FREQUENCY(一组数值,指定的间隔值)
FREQUENCY函数将第一参数中的数值以第二参数指定的间隔进行分组,计算数值在各个区间内出现的频数。最终返回的数组中的元素会比间隔值的元素多一个,多出来的这个表示最高区间之上的数值个数。
下面我们用一下就知道其中的奥秘了。
第一步:确定条件1位置
运用本例中强力推荐的FREQUENCY函数:
=FREQUENCY(F2,{-1,5,10,15})
{-1,5,10,15} 以4个间隔分成5组区间:
x≤-1
-1<x≤5
5<x≤10
10<x≤15
15<x
这里之所以以最小的起点以-1开始,是为了让0值,包含在第二组-1<x≤5
(0-5)之内。因为两个条件均不含负值,所以不用考虑负数情况。
产生了纵向的频数分布:
{0;0;1;0;0}
条件1:“7”只在5<x≤10(5-10)这个分段内出现了1次,故频数返回1,在其余的分段中均为出现过,故都是频数0。
用TRANSPOSE函数:
=TRANSPOSE(FREQUENCY(F2,{-1,5,10,15}))
将返回结果转置为横向的,更容易对比A1:D1区域观察理解,此步骤可省略。
使用MATCH查找函数:
=MATCH(1,TRANSPOSE(FREQUENCY(F2,{-1,5,10,15})),0)
查找固定值“1”,在上一步返回数组中{0;0;1;0;0}的位置为“3”。
我们可以理解为:
条件1:“7”,位于查询区域A1:D4区域的第“3”列。
第二步:确定条件2位置
原理与步骤1相同。
使用FREQUENCY函数:
=FREQUENCY(G2,{-1,1,2,3})
{-1,1,2,3} 以4个间隔分成5组区间:
x≤-1
-1<x≤1
1<x≤2
2<x≤3
3<x
这里之所以最小的起点以-1开始,是为了让0值,包含在第二组-1<x≤1
(0-1)之内。因为两个条件均不含负值,所以不用考虑负数情况。
产生了纵向的频数分布:
{0;0;1;0;0}
条件2:“1.5”只在1<x≤2(1-2)这个分段内出现了1次,故频数返回1,在其余的分段中均为出现过,故都是频数0。
利用MATCH函数查找:
=MATCH(1,FREQUENCY(G2,{-1,1,2,3}),0)
查找固定值“1”,在上一步返回数组中{0;0;1;0;0}的位置为“3”。
我们可以理解为:
条件2:“1.5”,位于查询区域A1:D4区域的第“3”行。
第三步:交叉查询
我们只需要确定A1:D4区域中的第3行与第3列交叉位置的值“E”就可以了,所以使用INDEX函数交叉查询:
=INDEX(A1:D4,MATCH(1,FREQUENCY(G2,{-1,1,2,3}),0),MATCH(1,TRANSPOSE(FREQUENCY(F2,{-1,5,10,15})),0))
A1:D4:为查询区域。
MATCH(1,FREQUENCY(G2,{-1,1,2,3}),0):为第3行。
MATCH(1,TRANSPOSE(FREQUENCY(F2,{-1,5,10,15})),0):为第3列。
所以:
“E”位于A1:D4区域的第3行与第3列交叉位置。
数据源与查找结果可以实现动态的联动:
- 上一篇: IF()函数学会多条件求和和IF嵌套就够了
- 下一篇: 进阶高手必备的多条件数据分析技巧,收藏备用
猜你喜欢
- 2025-09-06 Excel中,除了If函数外,还有这些函数用于条件判断
- 2025-09-06 IF三个以上条件判断,千万别用AND和OR,Excel函数公式
- 2025-09-06 IF函数简单,多条件逻辑判断却很难,掌握这五种方法就一通百通
- 2025-09-06 Excel常用函数IF条件判断的嵌套用法#excel
- 2025-09-06 vba的if多条件判断语句,写法更灵活
- 2025-09-06 Excel函数:IF结合FIND函数快速判断是否包含关键字
- 2025-09-06 进阶高手必备的多条件数据分析技巧,收藏备用
- 2025-09-06 IF()函数学会多条件求和和IF嵌套就够了
- 2025-09-06 按条件计算平均值,AVERAGEIF函数要牢记!
- 2025-09-06 Excel中的神器COUNTIF函数,你真的会用吗?
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)