楼主 悟空师弟 |
Q:当知道平均值和系数值,如何跟据表自动取出相应的数?(具体详见附件) A:7种方式 1、
2、
3、
4、xiongkehua2008的回答:
5、
6、
7、
详见附件: 如何实现双条件查找数据?.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 |
再增加一种。
|
12楼 Jinmeiya |
先下载下来,有时间好好学习。谢谢了! |