Excel Power Query动态获取相对路径+LET函数+深度隐藏工作表

    在财务工作中很多会计人员经常要制做各种财务报表,不管大家用的是什么财务系统或软件,自身提供的报表数量和样式几乎都是固定的,在这种情况下,相信很多财务人员都是将每个月的财务数据一个月一个月的存储在Excel工作表里,需要用到的时候复制上个月的表清空后再填上本月的数据。
    其实大可不必这样,我们可以一次性获取所有财务数据,需要用哪个月的直接用切片器选取,需要分析哪些内容也可以直接拖入数据透视表。但在此之前,还需要将凭证中的数据清洗干净,达到预期的样式。
    这就需要用到Power Query建立查询。假设我们将凭证导出存入一张名为凭证的工作表,该工作表所在的工作薄存放在桌面根目录中,然后在该工作表所在的工作薄中新建一张工作表并将凭证的查询结果存入这个表。现在,如果要将这个工作薄移动到其他位置而凭证工作表中的内容又修改了,如果再点击刷新按钮,此时原本做好的查询返回错误的结果而不是更新为整理好的修改后的结果。
    今天我们就来讲讲动态获取查询路径的方法:

1.新建路径工作表,A1单元格输入路径,A2单元格输入以下公式:
=REPLACE(LEFT(CELL("filename"),FIND("]",CELL("filename"))-1),FIND("[",CELL("filename")),1,)
这个公式比较长,其实是要对获取的路径删除“[”、“]”及路径工作表名称,如A5所示。


路径公式.png

2.选中A1:A2,单击数据选项卡下自表格/区域按钮


新建查询.png

3.弹出创建表窗口,单击确定。
弹出窗口.png

4.进入查询界面,修改当前查询名称为路径表。
修改查询名称.png

5.单击窗口左侧查询按钮,展开查询清单。


展开查询清单.png

6.选中凭证列表查询,右侧查询步骤选中最上方的“源”,将括号内的内容修改为“路径表[路径]{0}”或“路径表{0}[路径]”,此处路径表为查询名称,[路径]为列名,{0}代表第一行,即路径存储在路径表的路径列的第一行。
修改路径.png

7.修改后单击凭证列表查询最后一步,可以看到能够加载出清洗后的数据,证明路径替换成功。
效果.png

8.单击窗口左上角关闭并上载下拉按钮,选择关闭并上载至。
关闭并上载至.png

9.弹出窗口选择仅创建链接。
仅创建链接.png

10.为防止路径在将工作簿发送至其他使用者使用后被破坏,需要将路径工作表深度隐藏,右击路径工作表,选择查看代码。
查看代码.png

11.选中路径工作表,将属性窗口最下方的Visible属性设置为2-深度隐藏。
深度隐藏.png

12.返回工作表窗口,右击任意工作表,取消隐藏选项为灰色,即无法通过一般方法将路径工作表恢复显示。


深度隐藏效果.png

13.最后再讲一讲LET函数的使用:
LET函数为office365独有函数,因此对Excel 2019及以下版本并不支持,可以显示公式结果,但不能刷新结果。
LET函数构造如下:
LET(参数1名称,参数1表达式,参数2名称,参数2表达式,....输出内容表达式)
在LET函数中可以定义多个参数,在输出内容表达式中引用公式内定义的参数做运算。
在下图中,使用LET函数获取的文件路径(A7单元格)与其他方法获取的文件路径(A2单元格)结果一致,如果使用LET函数获取的文件路径作为凭证查询的路径参数,那么如果将工作簿发给其他人共享,只有同样登录office365账户的使用者才能刷新该工作簿中的数据。
LET表达式.png

你可能感兴趣的:(Excel Power Query动态获取相对路径+LET函数+深度隐藏工作表)