首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

惊掉大牙!动态切换的excel报表,竟然只需一个超简单的indirect公式

在实际工作中,我们经常需要做动态查询的报表,如下图所示切换日期就可以生成应的日报表:

你是不是在想,要多复杂的excel公式才能实现这么“高级”切换功能。等兰色亮出公式估计很多人惊到大牙:原来公式这么简单:

=INDIRECT($C$2&"!RC",0)&""

嘿嘿,公式就这么短。只是.....能看懂这个公式的估计不到十分之一。C2是引用工作表名称,RC又是什么鬼?&""又是什么作用?

想看懂这个公式,要先明白indirect函数的两种引用模式:

1、A1模式:列标+行号的引用模式

=indirect("b1") 可以把单元格b1的值提取出来

2、R1C1模式:R行数C列数的引用模式,第2个参数为false或0

=indirect("R1C2",0)  也是提取B1的值

但如果R和C后都没有数字:RC,则表示当前行当前列。相当于row()和cloumn()

=indirect("RC",0) 表示引用公式所在单元格的值,即自身的值,会形成循环引用。如果引用另一个表则不会形成循环引用。如在A表中引用B表相同行列单元格的值:

=indirect("B!RC",0)

本例中,查询表和1日、2日...的日报表格式完全相同,都是从第4行第1列开始查询的。所以=INDIRECT($C$2&"!RC",0) 就可以查询对应日报表相同位置的值。

&""有什么用?

公式引用的如果是空格会返回很多无意义的0,用&""则可以去掉它们。

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OM-OTGKHLz0ydUW12fbpa3Ag0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券