工作中,我们常常遇到按照两个条件进行数据匹配(或查询)的情况。
![99642e134675985506b0b3827132de9d.png](https://img-blog.csdnimg.cn/img_convert/99642e134675985506b0b3827132de9d.png)
表1:数据源
例如,根据表1数据源的日期和科目来匹配费用到表2,我们权且把这种匹配称为二维到一维匹配。
![3438125172fc9374cdf65638ce57097a.png](https://img-blog.csdnimg.cn/img_convert/3438125172fc9374cdf65638ce57097a.png)
表2:目标表
又或者反过来,也有可能根据一维表(下表3):
![e5edc4568e35122f74d9771498a6e31d.png](https://img-blog.csdnimg.cn/img_convert/e5edc4568e35122f74d9771498a6e31d.png)
表3:数据源
匹配费用数据到表4:
![9897969b7ae8f8075bf26b75d4a64db0.png](https://img-blog.csdnimg.cn/img_convert/9897969b7ae8f8075bf26b75d4a64db0.png)
表4:目标表
我们也把这种匹配先称之为一维到二维。
今天,我们先来介绍从二维表到一维表的数据匹配。
一、二维到一维
方法1:INDEX+MATCH
![b368d8e63618776c2fc30d63c90f5b4f.png](https://img-blog.csdnimg.cn/img_convert/b368d8e63618776c2fc30d63c90f5b4f.png)
首先,用MATCH函数分别求出数据行的日期和科目在数据源日期列(B3:B9)和科目行(C2:P2)的位置,然后在C3:P9这个区域利用INDEX索引函数,找到指定行和列对应的数值。
方法2:VLOOKUP+MATCH
![7f50bfa43918f5d4c0bfb602b2321b12.png](https://img-blog.csdnimg.cn/img_convert/7f50bfa43918f5d4c0bfb602b2321b12.png)
先用MATCH找到科目所在列,再用VLOOKUP根据日期来查找(注意,第3个参数MATCH的结果要加1,因为第1列是从B列算起的)。
方法3:HLOOKUP+MATCH
![f63544a382a088f96f0e558b2418ddc9.png](https://img-blog.csdnimg.cn/img_convert/f63544a382a088f96f0e558b2418ddc9.png)
方法3与方法2类似,但是先用MATCH找到日期所在行,再用HLOOKUP根据科目来匹配费用。
方法4:OFFSET+MATCH
![483a8ab3546cdfe36cabdc97a6e5e4f2.png](https://img-blog.csdnimg.cn/img_convert/483a8ab3546cdfe36cabdc97a6e5e4f2.png)
OFFSET函数不仅可以返回一个区域,也可以返回一个单元格。所以,当OFFSET最后两个参数为1时,即可返回特定位置的数据。
OFFSET函数可以根据偏移量返回数据,它有5个参数:
参数1:起始位置
参数2:向下移动X行
参数3:向右移动Y列
参数4和参数5:从新的位置开始返回一个M行N列的区域
表格学院Excel函数公式训练营
即将上线(5月6日首期正式开营)
分类突破+专题提升+加餐录制常见棘手问题
21天,30节视频课+每日答疑
私信我,一起学函数
![3dd3c963fb79043d0cfe024a21216809.png](https://img-blog.csdnimg.cn/img_convert/3dd3c963fb79043d0cfe024a21216809.png)
![3facdecc2c56ad8ebe701f05a0a45a55.png](https://img-blog.csdnimg.cn/img_convert/3facdecc2c56ad8ebe701f05a0a45a55.png)