专栏名称: Excel之家ExcelHome
excel技巧原创教程每日推送,excel表格职场模板干货仓库,图文/视频/动画等多种教学方式分享excel操作技巧教程/excel函数公式教程/excel数据透视表教程/excel图表教程/Word教程,助您轻松提高办公效率!
目录
相关文章推荐
Excel之家ExcelHome  ·  四舍六入、批量替换、正则提取,手搓透视表,W ... ·  3 天前  
Excel之家ExcelHome  ·  数据有效性的几个典型应用 ·  5 天前  
Excel之家ExcelHome  ·  这些公式用得好,一堆工作等你搞 ·  1 周前  
Excel之家ExcelHome  ·  近似查询用不好,国庆加班跑不了 ·  3 天前  
完美Excel  ·  VBA正则表达式 ·  1 周前  
51好读  ›  专栏  ›  Excel之家ExcelHome

两个条件查数据,这些方法随你选

Excel之家ExcelHome  · 公众号  · Excel  · 2024-09-30 06:45

正文

如下图所示,需要根据H2单元格中的月份,以及H4单元格的城市名,在左侧数据表中来查询同时符合两个条件的数据。


数据查询,自然离不开VLOOKUP,在I3单元格输入以下公式:

=VLOOKUP(H2,A:F,MATCH(H4,A1:F1,0),0)

公式中的“H2”,是VLOOKUP要查询的关键字,“A:F”是要查询的数据区域,至于要在数据区域中返回第几列的内容,这里咱们使用MATCH函数来帮个忙。

MATCH(H4,A1:F1,0) 这部分的作用,是查询H4的城市名在A1:F1中所处的位置,结果返回一个数字。

VLOOKUP以MATCH函数的结果来返回对应列的内容,正所谓指哪儿打哪儿。


VLOOKUP函数的查询方向是从左到右,咱们也可以换成HLOOKUP,来从上到下查询:

=HLOOKUP(H4,1:7,MATCH(H2,A1:A7,0),0)

公式中的“H4”,是HLOOKUP要查询的关键字,“1:7”,表示第一行至第7行的整行引用,是要查询的数据区域,要在数据区域中返回第几行的内容呢?这里也是使用MATCH函数的结果作为参照。

MATCH(H2,A1:A7,0) 这部分,就是根据H2单元格中的月份,从A1:H7单元格区域中返回所处的位置。


注意,使用MATCH函数的结果作为VLOOKUP以及HLOOKUP函数的参数时,要特别注意MATCH函数本身查询区域的起始位置,必须要和V、H两位大哥的查询区域的起始位置相同。

就像本例中,VLOOKUP的查询区域是从A列开始,那MATCH函数的查询区域A1:F1,也是从A列开始。HLOOKUP函数的查询区域是从第一行开始,那MATCH函数的查询区域A1:A7,也是从第一行开始的。


下面这个公式,使用了两个MATCH函数:

=INDEX(A1:F7,MATCH(H2,A:A,0),MATCH(H4,1:1,0))

INDEX函数第一参数使用多行多列的A1:F7区域,然后再使用MATCH函数,分别以H2中月份的位置和H4中城市的位置,来作为INDEX函数的行列参数,月份在哪一行,INDEX函数就以此来确定要返回数据的行。城市在哪一列,INDEX函数就以此来确定要返回数据的列。

同样,使用INDEX与MATCH函数配合使用时,要注意MATCH函数本身查询区域的起始位置要和INDEX第一参数所选的行列起始位置相同。


因为查询后要返回的内容是数值,这里咱们也可以使用多条件求和的方法来处理:

=SUMPRODUCT((A2:A7=H2)*(B1:F1=H4)*B2:F7)


既然是多条件求和,还可以使用SUMIF来处理:

=SUMIF(A:A,H2,OFFSET(A:A,0,MATCH(H4,B1:F1,0)))

公式中的OFFSET(A:A,0,MATCH(H4,B1:F1,0)部分,以A列为参照基点,向下偏移0行,向右偏移列数由MATCH函数来指定,要查询的城市在哪一列,就返回哪一列的引用。得到引用作为SUMIF函数的求和区域。


如果你使用的是Office 2019或者最新版的WPS表格,还可以使用XLOOKUP函数来完成:

=XLOOKUP(H2,A2:A7,XLOOKUP(H4,B1:F1,B2:F7),0)


使用Office 2021的小伙伴,可以用FILTER函数结合INDEX函数:

=INDEX(FILTER(A1:F7,A1:A7=H2),MATCH(H4,A1:F1,0))


练手文件:

https://pan.baidu.com/s/13l0d819agKIhh_IdanIQjg

提取码: 599g

图文制作:祝洪忠

1、点击或搜索微信公众号【 Excel之家ExcelHome】到公众号首页。

2、点击右上角【···】,在下拉菜单中点击【设为星标】。

设置星标后,小伙伴们就不用担心错过咱们的推送了!

设为星标,精彩内容不错过