ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E文精选 > 函数与公式 > 如何实现双条件查找数据?

如何实现双条件查找数据?

作者:绿色风 分类: 时间:2022-08-17 浏览:235
楼主
悟空师弟
Q:当知道平均值和系数值,如何跟据表自动取出相应的数?(具体详见附件)
A7种方式

1、
  1. =HLOOKUP(L3,C$4:H$9,MATCH(K3,B$4:B$9))

2、
  1. =VLOOKUP(K3,B$4:H$9,MATCH(L3,B$4:H$4))

3、
  1. =(OFFSET(B$5,,MATCH(L3,C$4:H$4,1),5) OFFSET(B$5,MATCH(K3,B$5:B$9,1)-1,1,,6))

4、xiongkehua2008的回答:
  1. =OFFSET($B$4,MATCH(K3,B$5:B$9),MATCH(L3,C$4:H$4))

5、
  1. =INDEX($C$5:$H$9,MATCH(K3,B$5:B$9),MATCH(L3,C$4:H$4))

6、
  1. =INDIRECT(TEXT(MATCH(K3,B$5:B$9)+4&MATCH(L3,C$4:H$4)+2,"R0C0"),)

7、
  1. =LOOKUP(K3,B$5:B$9,OFFSET(B$5,,MATCH(L3,C$4:H$4),5))

详见附件:
如何实现双条件查找数据?.rar

效果如图:

 
2楼
悟空师弟
解析公式1:
=HLOOKUP(L3,C$4:H$9,MATCH(K3,B$4:B$9))
HLOOKUP是在表格或数值数组的首行查找指定的数值,并由此返回表格或数组当前列中指定行处的数值,此公式的意思为:
在C$4:H$9区域的首行查找单元格L3内的值,返回与之对应的第MATCH(K3,B$4:B$9)行的值。
而MATCH(K3,B$4:B$9)是个变量,即单元格K3内的数值在B$4:B$9这个区域中的相对位置。
一句话概括此公式为:要查找的“系数值”在“系数表”中的“系数值范围内的第几列,则而返回与要查找的“平均值”对应的行的值。

另:除公式3外的6个公式的查找原理基本一致,即找出要查找的“平均值”在“系数表”中的“平均值”区域中的位置(行)和要查找的“系数值”在“系数表”中的“系数值”区域中的位置(列),从而定出需要返回的值的行号和列号。

注:公式2中用的VLOOKUP和公式7中的LOOKUP与HLOOKUP的查找方式最为接近:
1、公式2中用的VLOOKUP查找方式一样,只是方向相反,一个纵向查找,一个横向查找。
2、公式7中的LOOKUP是单行(列)查找,公式中的OFFSET(B$5,,MATCH(L3,C$4:H$4),5)返回的是一个与B$5:B$9相对应的1列5行的单列多行区域。
说明:因用HLOOKUP函数的朋友相对来说要少,所以,只侧重解析HLOOKUP函数的解题方法。
3楼
悟空师弟
解析公式3:
=(OFFSET(B$5,,MATCH(L3,C$4:H$4,1),5) OFFSET(B$5,MATCH(K3,B$5:B$9,1)-1,1,,6))
此公式两端的括号可以去掉,即公式可改为:
=OFFSET(B$5,,MATCH(L3,C$4:H$4,1),5) OFFSET(B$5,MATCH(K3,B$5:B$9,1)-1,1,,6)
请注意,两个OFFSET函数之间是一个空格,这是交叉引用的方式。
交叉引用,就是引用两个引用区域交叉的区域,此公式中
OFFSET(B$5,,MATCH(L3,C$4:H$4,1),5)

OFFSET(B$5,MATCH(K3,B$5:B$9,1)-1,1,,6)
各返回一行区域和一列区域,其交叉的一个单元格即是满足又条件查找后要查找的数据所在的单元格。
4楼
悟空师弟
解析公式4:
=OFFSET($B$4,MATCH(K3,B$5:B$9),MATCH(L3,C$4:H$4))
OFFSET函数是以指定的引用为参照系,通过给定偏移量得到新的引用。
此公式的意思为:
第一个参数$B$4单元格为参照单元格,
第二个参数MATCH(K3,B$5:B$9)为要偏移的行。
第三个参数MATCH(L3,C$4:H$4))为要偏移的列数。
即自$B$4单元格向下(也有可能是向上)偏移x行,向右(也可能是向左)偏移y列后得到一个新的单元格即是要查找的目标单元格。
5楼
arjoe
以原数据的规律,可以如下
=MAX(($C$5:$H$9*($B$5:$B$9<=K3)*($C$4:$H$4=L3)))
6楼
lgh978
认真学习!
7楼
828505
看不懂。
8楼
lingdao1682008
谢谢了!
9楼
kekedoufeng513
不错1谢谢11
10楼
xaweiyx
学习了
11楼
laowuwyx
再增加一种。
  1. =SUMIF($C$4:$H$4,L3,OFFSET(C$4,MATCH(K3,B$5:B$9),))
12楼
Jinmeiya
先下载下来,有时间好好学习。谢谢了!

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap