我正在尝试使巨大的 Excel 表合理地可维护,但它在“百表数据库”方向上非常巨大,而不是“十万行表”方向上非常巨大。
我想要一个如下所示的基线数据表:
| Indicator | Units | 2010 | 2015 | 2020 | 2025 | Source |
| GDP | $Gazillion | 300 | 350 | 400 | 450 | BLS |
| Population | Millions | 350 | 400 | 450 | 500 | Census |
| PetMonkeyPopulation | Thousands | 50 | 60 | 70 | 80 | SimiansRUs |
然后就可以得到另一张如下所示的表格:
| | 2010 | 2015 | 2020 | 2025 |
| MonkeysPerCapita | .1 | .2 | .3 | .4 |
| MonkeysPerDollar | .01 | .01 | .01 | .01 |
| GDPPerCapita | 300 | 400 | 450 | 600 |
是否存在某种标准方法可以使这种事情可维护?
答案1
我不想发表非答案,但你确实应该将其移至真正的数据库。它将更稳定、更快、更易于使用和更新。然后(或者如果我假设错误并且它已经在数据库中)你可以设置查询,Excel 可以使用这些查询将相关数据或计算提取到电子表格中以进行报告或操作。
答案2
我同意其他受访者的意见;您谈论的是数据和元数据,它们实际上是用于数据库的。
但是,如果您执意(或仅限于)在 Excel 中使用它,我能想到的唯一办法就是从逻辑上将单张工作表拆分为多张工作表,以便生成数据表(如果有的话)。这可能类似于 ER 模型(http://db.grussell.org/section006.html)。
因此,对于经常变化的变量(例如每日销售数据),请将它们保存在主数据文件表中。其他不经常变化但属于主数据的变量(例如销售代表的姓名)可以放入其他文件(或其他工作表 - 这是您的元数据)。这个工作簿总的来说就是您的“数据库”。(您基本上是在多个平面文件之间创建关系 - 这实际上是第一个数据库的工作方式。)
确保至少保留一个公共字段,该字段是至少 2 张工作表之间的唯一标识符(例如,如果您有一张 SalesRepData 工作表,其中包含 SalesRepID 和 Territory,并且还有另一张 TerritoryData 工作表,其中包含 Territory 和 CityNames,则您可以从两张工作表之间得出每个城市的销售代表到另一张工作表上)。
当您制作需要来自多张工作表(或文件)的数据的报告时,您将使用 vlookup 和 index/match 函数来链接您的工作表。
最后,为了记录和审计的需要(这经常被忽视),您还应该创建一个主文档,描述每张表的内容以及每张表如何相互链接。
祝你好运!