Excel中复杂表格查询

#excel中,表格查询无处不在,部门与部门之间会相互用到对方数据,有时候表格会有【合并单元格】、一级分类下面还有二级分类。

数据源表:

待填充的表:

方法一:=Lookup()

lookup是一个比较强大的查询函数,用法也纷繁复杂。

针对几个变量的具体查询,此函数变形为:

=lookup(1,0/(查询条件1=查找值1)*(查询条件2=查找值2),返回值区域)

注意:函数中分子必须小于等于查找值,0是最百搭的。

方法二:用零部件的方式构建大查询

我们熟知的大查询有:=vlookup()、=sumif()、=sumifs()、=index()

以=vlookup为例,=vlookup(查找值,查找区域,第几列,精确查找)

【查找值】在待填充表和数据源表里要一致;

【查找区域】根据年、月不同而变化,但是是有规律的;

【第几列】有规律;

【精确查找】0.

在此篇开头的图片举例中,【查找区域】的规律:

  1. 年份可以确定查询的结束列;
  2. 月份可以确定查询区域的起始行和最终行。

需要用到的函数(定位功能):

  1. =match(要查询的值,查询范围,0)返回的是数字;
  2. =address(行数,列数,引用类型)(这里需要你百度一下这个函数返回结果)
  3. =left(),这个跟adress搭配,返回列,也就是A、B、C、D等(思考:如何辨别提取几个字符,A-Z为1个,AA-ZZ为2个,以此类推);
  4. =countA()与match和adress函数结合,返回【查找范围】最后一列;
  5. =indirect()重中之重,自己构建的【查找范围】一定要用这个函数引用,不然它们堆叠在一起只是没有特殊的意义文本;
  6. Tips:文本之间要用&连接,不要忘记":".

这是我的查找函数,做个辅助理解,不理解也没关系,相信你自己能写得出来:

=VLOOKUP($B22,INDIRECT("'预算&指标'!$B"&"$"&MATCH($B$5,'预算&指标'!$A:$A,0)&":"&"$"&LEFT(ADDRESS(1,2+8*COUNTA('预算&指标'!$A$1:INDIRECT(ADDRESS(1,MATCH($B$4,'预算&指标'!$1:$1,0),4))),4),1)&"$"&MATCH($B$5+1,'预算&指标'!$A:$A,0)-1),2+2*COUNTA('预算&指标'!$A$1:INDIRECT(ADDRESS(1,MATCH($B$4,'预算&指标'!$1:$1,0),4),1)),0)

其中‘预算&指标’就是数据源表。

  • 13
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值