确定工作表的复杂性(Microsoft Excel)
Joran正在对13种不同的学生资助模式进行比较(按加拿大的省/地区)。每个模型都有其自己的工作表,该工作表可进入摘要页面。 Joran希望能够以具体方式比较每个工作表(省/地区)的复杂性。使用“评估公式”工具时,将隔离给定公式的每个步骤。他想知道是否有一种方法可以计算整个电子表格中包含的评估“步骤”的数量。这将为乔兰(Joran)提供某种客观的衡量标准,在整个工作手册中是可比的。
不幸的是,看来Excel在VBA中没有将“求值公式”工具作为对象提供。这意味着以这种方式评估工作表将需要开发一个宏以查看所有单元格,提取公式并计算每个公式中的“功能短语”。短期内这可能变得相当复杂。
即使可以做到这一点(不考虑复杂性),也可能无法产生预期的结果。例如,请考虑以下公式:
=A1+A2+A3
此公式具有两个或三个评估,具体取决于您如何计算评估。现在考虑以下公式:
=SUM(A1:A3)
该公式在功能上等同于上一个公式,但仅需要一个评估。这两个公式都不比另一个更复杂,但是如果仅计算评估,则第一个将显示为第二个的两倍或三倍。有些功能即使算作单个评估,也比简单的加法复杂得多,在简单地对短语进行计数时也将忽略这些功能。
此外,如果您的公式包含任何类型的决策结构(通常使用IF函数),则公式的复杂性并不直接与公式中短语或求值的数量相关。原因是因为Excel的实际计算是在计算时根据当时存在的条件确定的。
认识到计数短语不是确定模型复杂性的最佳方法自然会引出一个问题,即如何进行确定。可以在工作表中检查哪些内容以客观地确定复杂性。没有简单的方法可以做出这样的决定。
ExcelTips订阅者Steve是博士发展化学家,部分解释了这一点。作为他工作的一部分,他设计了实验并进行了分析,以创建物流和业务模型。这是他的评论:
=== [begin Steve's comments on model complexity]===
对模型复杂度的更简单评估是模型中用于获取结果的项数。在评估模型时,根据我的经验,我发现您希望找到简单与结果之间的平衡。一个添加了可以为结果提供实质内容的元素,而消除了没有的元素。
模型中使用的拟合度称为“确定系数”(也称为R ^ 2,R平方)。它衡量模型对实际数据的拟合程度。它是回归的“平方和”之比,表示每个单个值的模型值与实际值的平方之和,再除以平方和之和,表示每个点与该值之差的平方。均值。
但是随着人们增加复杂性(通过添加其他项),随着自由度的降低,R ^ 2变得更高。调整后的R ^ 2比较好:
Adjusted R^2 = 1 - (1-R^2) * (n-1) / (n-k-1)
其中R ^ 2如上所述,n是点数,k是模型中使用的项数。
通常,人们争取最大的调整后的R ^ 2。
=== [end Steve's comments on model complexity]===
除非人们精通统计方法和数学,否则很容易迷失以这种方式确定复杂度的细节。
如果走这样一条路不符合您的喜好(或您的培训),那么还有另一种确定复杂性的方法:使用每种模型需要多长时间才能得出结果?如果将每个模型的工作表放入其自己的工作簿中,则可以使用宏来测量对工作簿执行重新计算所花费的时间。由于Excel使用相同的内部方法对每个工作簿执行重新计算,因此您可以轻松比较每个工作簿的时间。对于复杂性的一般性指示,重新计算时间最长的工作簿是最复杂的工作簿。
_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。
本提示(13096)适用于Microsoft Excel 2007、2010、2013、2016、2019和Office 365中的Excel。