我经常遇到这样的情况:需要将电子表格上的信息分解并分发到不同的组织单位,但同时我需要能够作为一个列表全面跟踪和报告该信息的更新。
是否有有效的方法来自动执行所需的关键任务?
- 根据给定的属性,将一个主表分成多个单独的文件。
- 在主表和所有相关文件之间同步信息。
每个电子表格的列标题和布局都是相同的。大多数情况下,在跟踪数据的过程中不会添加/删除行项目。通常,当我需要能够交叉引用数据时,我还可以为每个行项目分配一个 GUID。虽然解决方案能够自动适应异常情况是理想的,但这些异常应该足够罕见,以便我可以根据需要手动处理它们。
我非常熟悉编写 Excel 公式,并且经常会使用复杂的 VLOOKUPS 或类似操作来完成此类工作(当我不只是手动在工作表之间进行批量复制/粘贴时)。我愿意为此学习 VBScript 之类的东西,但我对该语言几乎没有任何背景。
也许这项任务更适合使用数据库,比如 Access,我也愿意接受这样的选择。但最终我的输出需要放在 Excel 电子表格中,并且我需要能够在有更新时轻松地将数据库与这些文档同步(双向)。
如果可能的话,我宁愿不使用任何第三方软件来做到这一点。
不幸的是,这里涉及的流程通常相当临时。报告通常只是通过电子邮件发送。有时,我们确实使用文件共享和/或 Sharepoint。我需要尽可能地适应,而不是强迫每个人都一直使用一个特定的系统。(虽然这是理想的,但这个问题超出了我的能力范围。)
与此类似的东西就很好了:
- “主表”(或数据库)位于我自己的小角落(文件共享、Sharepoint、桌面,任何地方)。
- “主表”将“子表”导出到指定位置,无论我需要它们在哪里。所有子表可能存储在同一位置,也可能不存储在同一位置。
- “子表”可以直接在链接位置更新,或者我会在同步之前手动将最新修订复制到链接路径。
- 然后,“主表”需要能够按需向链接的“子表”推送更新/从链接的“子表”拉取更新。
答案1
Excel 无法双向同步
正如我所解释的那样这个类似(但不相同)的问题,Excel 无法双向同步数据。要么你有一个主服务器和多个从服务器(或子服务器,正如你所说),然后你可以编辑主人,但只有读奴隶。或者反过来做:你可以编辑奴隶,但你只能读大师。
Excel 无法实现的另一件事(开箱即用)是推送数据。Excel 旨在在您打开文件或更新其内容时“按需”或“及时”同步数据。您无法将编辑推送到另一个 Excel 工作表。
如果上述是“必须具备”的要求,那么 Excel 就不是正确的解决方案,而应该考虑基于关系数据库的解决方案。
我将简单解释如何设置主->从和从->主设置,以帮助您入门。
主->从
在主表中创建一个表并保存;您也可以为此使用 Microsoft Access 数据库。接下来,在每个从属表中创建一个数据透视表。在所需的设置上设置数据透视表过滤器并保存表。
从属->主
在每个从属服务器上创建一个表。使用Power Pivot聚合不同的从属服务器并将它们放入主服务器中。此解决方案也适用于“分布式”方法,其中没有一个主服务器,但所有从属服务器都相互连接。这将需要每个工作簿中有两个工作表:一个包含数据(由该用户/部门管理的子集),另一个包含基于 Power Pivot 的透视报告,其中包含不同从属服务器中所有数据的聚合。
也许最后提到的选项(分布式方法)最符合您的要求。
请注意,如果您需要隐藏一张表上的数据子集,您可以始终放置一个数据透视表过滤器并锁定报表过滤器单元格。