Excel中indirect函数的格式及应用

前两天在excel表格中做不同工作表之间的数据调用,因为牵扯到调用数据的单元格不固定,所以被调用数据的单元格需要用函数表示其地址,故而用到了indirect函数。

调用中发现了很多问题,一一解决之后发现,indirect函数的格式应该是这样的,举例说明一下。

if(p6=“2月”,indirect("sheet1!c"&row()-2,if(p6=“1月”,sheet1!a1))

解释如下

如果p6单元格值为“2月”时,将当前需要计算的单元格的行数减2,得到需调用数据的单元格行号,而列号不变,仍为sheet1工作表的c列,此单元格的数据计算结果即被调用至公式所在的单元格。需要注意,其中不变的sheet1!c需加引号。

ps:引出此问题的原因是如果采用简单的公式if(p6=“2月”,sheet1!c1,if(p6=“1月”,sheet1!a1)),在下拉复制公式时,因为不知道1月的数量,不能确认单元格位置,如果下拉三行后,公式将变成if(p9=“2月”,sheet1!c4,if(p9=“1月”,sheet1!a4)),。当然如果此时p9等于1月,取数没有问题,但如果p9等于2月,则将从sheet1的c4单元格开始取数,而非我们希望的c1单元格开始。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容