上一篇文章,有人和我反映说没看懂.emmmmmm...我也没打算你们立刻就能看懂,毕竟这在函数和代码之间的边缘地带.希望看完了这一篇,你们能更懂之前的这一篇吧↓
闲言少述,书归正传.今天的目的是希望能通过举例,让你们明白INDIRECT函数的使用方法和原理,这样才能一通百通.
跨表引用
这是最常用的例子.很多表很变态,喜欢把1-12月的数据分成12个工作表来做,到了年底的时候呢,老板突发奇想想要看看一年的分布.嗯,拆分一时爽,全家xxx.但是老板要啊,你不能说不吧,所以这时候,你需要INDIRECT函数
变态的表长下面这样
每个月都是同样的简单枯燥的统计,长下面这样
要完成的绿色部分,在下面这里
让我们先来看看INDIRECT怎么写的
无论在里面写文本,还是引用单元格在被引用的单元格里写文本(注意第一个单引号不算,要多写一个单引号),与直接等于的结果都是一样的.所以可以这么理解↓
=INDIRECT("'1月'!B2") ='1月'!B2
上面两个会出现一样的数字.既然这样,INDIRECT里面又是文本,列标题又和表名1-12月一样,那岂不是可以嘿嘿嘿.
在B2写这个公式,然后往右拉到底就行了.公式由4部分组成.
第1部分是文本"'",也就是双引号加上中间一个单引号
"'"
第2部分是B$1,固定1是为了往下拉的时候可以不变,如果不需要下拉,可以改成B1
B$1
第3部分是"'!B",都是为了凑成'1月'!B2这样的结果而组成的碎片
"'!B""
第4部分是ROW(A$2),这个公式返回的其实就是一个数字2.只是为了下拉让它跟着变成3,所以用它
ROW($A2)
最后使用连接字符&来连接就可以了
=INDIRECT("'"&B
所以,如果你只有1行,或者只有商品A,其实你可以这么写
=INDIRECT("'"&B1&"'!B2")
会简单很多.如果你有多行的话,加上一个ROW(A2)就可以了.前面的字母ABCD啥的不会影响ROW函数返回的结果,只是为了好看所以固定了A而已
所以,完成后的结果长这样
只要写好一个公式,可以随意的往哪边拉
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有