- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
利用indirect函数的R1C1形式进行多表查询汇总
? ? ? 多表查询汇总可以使用数据透视表进行,也可以使用导入外部数据结合sql语句将各个表连接在一起进行汇总,如果只是做查询汇总,最高效和直观的方法是通过indirect函数实现的,这里用到两种嵌套函数的方式,其中第二种R1C1的形式是最容易理解的,也是最便捷的,在下面的实例中在设置完函数之后通过屏蔽零值,再利用条件格式设置非空单元格具有特定条件进一步完善查询汇总表。
方法/步骤
如下图显示的工作薄中有办公室、技术部、人力资源部、销售部四张工作表,每个表中存放的是各个部门的日常费用数据,包括日期、费用项目、金额、经办人这4个字段,现在需要根据不同的部门将各个字段对应的数据进行汇总为一张查询汇总表。
查询汇总表最终需要在b1单元格中选择部门,然后下方对应字段下会根据选择的部门自动将数据显示在汇总表中,此时选择部门对应的是办公室,可以直接选中b4单元格,然后输入一个等号,然后点选办公室表中的a2单元格,然后将公式向下复制,但是如果这样操作,当部门名称发生变化时,下面的明细数据需要根据部门的变化发生变化。
如果使用index函数,首先需要将第一个参数通过点选设置为的a列,要取的行数在办公室表的第二行,而公式所在单元格为汇总表的第四行,所以可以将第二个参数设置为row()-2,作用是通过row函数算出当前单元格行号,然后减去2是因为在汇总表中比引用表中多了两行。
4
在b1单元格中需要通过设置数据有效性来实现部门的选择,选中b1单元格,然后单击菜单栏数据命令,在弹出的菜单中点按有效性命令,在弹出的数据有效性对话框中选择设置选项卡,然后在允许下拉列表中选择序列,然后在来源中输入四个部门的名称用半角都好分隔开,然后点按确定,此时就可以通过技术部对应的下拉按钮来选择不同的部门了,作为查询依据的部门就可以按需要变动了。
现在选择a4单元格,然后在编辑栏中将原来的函数修改为=INDEX(INDIRECT($B$1!A:A),ROW()-2),这里我添加了一个indirect函数作为index函数的第一个参数,用绝对引用下的b1单元格替换了原来的工作表名称,然后用一个连接符号连接起了了index对应的第一个相应工作表中的区域的字符串,点按回车完成公式的复制,并向下复制公式,然后将公式向右复制,由于index函数的首个参数的引用区域被限制为字符串形式,因此当公式由左向右复制时候,对应的引用参数的列区域不能发生对应的变化,如果汇总字段比较少,可以通过手动更改,但是如果字段较多,这就比较麻烦了,而且公式也不具有灵活性。
6
在indirect函数的语法结构是这样的
语法
INDIRECT(ref_text,a1)
Ref_text??? 为对单元格的引用,此单元格可以包含 A1-样式的引用、R1C1-样式的引用、定义为引用的名称或对文本字符串单元格的引用。如果 ref_text 不是合法的单元格的引用,函数 INDIRECT 返回错误值 #REF!。
如果 ref_text 是对另一个工作簿的引用(外部引用),则那个工作簿必须被打开。如果源工作簿没有打开,函数 INDIRECT 返回错误值 #REF!。
A1??? 为一逻辑值,指明包含在单元格 ref_text 中的引用的类型。
如果 a1 为 TRUE 或省略,ref_text 被解释为 A1-样式的引用。
如果 a1 为 FALSE,ref_text 被解释为 R1C1-样式的引用。
之前嵌套函数使用的是A1这种方式的引用,下面我将使用R1C1这种引用方式直接通过indirect函数来取得一一对应的字段的数据,这样就省去了index函数,下面第一个图对应的是用indrirect函数的A1形式并将公式向右侧复制,依然不能实现预期效果,第二个图对应的是indirect的R1C1效果,达到了预期的效果,六个箭头从左到右侧指向的分别是区域、R、1、C、1、和第二个参数0,此时公式向右侧复制,可以到达预期的效果。
7
此时将完整的公式=INDIRECT($B$1!RROW()-2CCOLUMN(),0)输入到a4单元格中,然后将公式向右侧复制,然后再将公式向下复制,此时对应部门对应字段中的数据军都通过公式显示在对应的位置了,但是下面第二个截图中的红框内的数据为0值(日期格式下的0值),我们需要将其屏蔽掉。
8
首先将原来设置在a4
单元格中的公式选中,然后点击右键,在弹出的菜单中选择剪切,然后在公式中输入if函数=if(原来的公式=0,,原来的公式),然后将刚才剪切的内容INDIRECT($B$1!RROW()-2CCOLUMN(),0),粘贴到if函数中对应的位置,完成的函数为=IF(INDIRECT($B$1!RROW()-2CCOLUMN(
原创力文档


文档评论(0)