当前位置: 欣欣网 > 办公

让老板看傻,1秒切换的Excel动态报表公式来了!

2024-04-15办公

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

你是不是在想,要多复杂的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,用&""则可以去掉它们。

兰色说 :RC模式是indirect函数的高级用法,可以解决很多高难度问题。

兰色根据多年经验,录制了一全套适合新手和初中级阶段用户学习的Excel教程。包括 Excel表格88个函数用法( 即将更新几十个新函数 )、119个使用技巧、透视表从入门到精通50集、图表从入门到精通186集 。( 绿卡会员 有效期内 免费 )详情点击下方链接