缩小工作簿大小(Microsoft Excel)
Nolan注意到他的一些工作簿越来越大。他想缩小工作簿的大小,但不确定哪种缩小方法会带来最佳效果。因此,他正在寻找有关缩小工作簿大小的最佳建议。
在讨论一些可以在此领域应用的“实用”概念之前,我应该提到重要的一点是弄清楚为什么可能需要考虑大文件大小。经过一段时间的思考,我提出了两个普遍的关注领域。首先,人们可能会担心文件过大,因为文件占用大量磁盘空间,或者它们需要花费一些时间才能通过网络或Internet进行传输。其次,他们可能会担心,因为较大的文件需要更长的时间来加载和重新计算。
让我们依次讨论这两个问题。
物理文件大小
工作簿的实际物理文件大小受两个主要因素影响:文件中要保存的元素以及文件的保存格式。文件中的元素包括工作表,行和列,样式,数据透视表,多媒体(图像,声音和视频),
几乎没有必要说工作簿由工作表组成,而这些工作表又由行和列组成。
但是,您可能没有意识到,工作表可以隐藏并且工作表可以包含多余的行和列。
首先,取消隐藏工作簿中的所有工作表。很容易检查是否有隐藏的东西。只需右键单击工作簿中的工作表选项卡之一。在出现的“上下文”菜单中,如果“取消隐藏”选项是可选的,则意味着您具有隐藏的工作表。选择该选项,您将看到一个对话框,其中显示了所有隐藏的工作表。取消隐藏它们,然后确定您是否真的需要它们。如果不这样做,请删除它们以释放空间。
现在,在其余的每个工作表中,您将需要检查以查看Excel是否保存了任何多余的行或列。最简单的方法是显示工作表,然后按Ctrl + End。这将选择Excel认为是工作表中的最后一行和最后一列的内容。如果与您认为的列的最后一行不匹配,只需删除实际的最后一行和最后一列之外的所有内容。
这里有一个警告:删除多余的行和列(确保在每个工作表上都做完),您将需要保存工作簿,重新启动Excel,重新加载工作簿,然后再次检查每个工作表。这样做是“双重检查”,以确保您确实删除了多余的行和列,而不仅仅是清除它们。
(实际上,它们需要删除而不是清除。)
当涉及到不必要的空间时,您可以检查另一件事,但是仅当您从非Excel来源将数据粘贴到工作表中或导入由第三方程序生成的数据时,该方法才适用。在某些情况下,您可能会发现您的数据在文本值的末尾包含多余的空格。例如,该单元格可以包含文本,后跟多个空格,而不是诸如“这是我的示例文本”之类的简单文本。这将需要一些侦探工作来确定您的单元格是否有多余的空间,但是为此,您可能会发现以下公式会有所帮助:
=IF(LEN(A1) <> LEN(TRIM(A1)), "Extra spaces", "")
如果单元格内容的长度不同,则依靠TRIM函数删除单元格开头或结尾的空格,该公式将显示文本“多余的空格”。从任何有问题的单元格中删除多余的空格。
样式也会占用工作簿中的空间,因此删除不使用的样式是一个好主意。最好的方法是在单独的_ExcelTip_中介绍:
https://excelribbon.tips.net/T012259
您还可以考虑减少工作簿中使用的格式版本数量以及使用数据验证的次数。这些都会增加工作簿的大小,因此,您特别想检查格式和数据验证是否未应用于空单元格。
如果您的工作簿包含数据透视表,请理解这会大大增加工作簿文件的大小。但是,有一种方法仍然可以使用数据透视表,但可以减小工作簿的整体大小。最好在另一技巧中介绍此技术,您可以在这里找到:
https://excelribbon.tips.net/T008669
对于工作簿中的多媒体元素,您需要检查工作簿中可能包含的每个图像,声音文件和视频,以确定是否确实需要它们。多媒体元素会占用很多空间,因此,仅在绝对必要时才应使用它们。此外,在图像方面,您需要检查以确保未在Excel中裁剪图像。裁剪图像会隐藏图像中显示的内容,但不会减小工作簿中保存的图像的实际大小。而是将图像保存到磁盘,使用实际的图像编辑器对其进行编辑,然后将其替换到工作簿中。
Excel还允许您压缩图片并降低工作簿中任何图片的分辨率。平衡压缩,分辨率和质量可能是一个棘手的走钢丝。但是,如果要开始使用它,您可能会在Microsoft的一个网站上找到这篇文章有所帮助:
https://support.office.com/en-us/article/Reduce-the-file-size-of-a-picture-8db7211c-d958-457c-babd-194109eb9535
最后,查看用于保存文件的格式。加载工作簿,按F12以显示“另存为”对话框,并以新名称保存工作簿。这将迫使Excel从头开始重写文件,从而可以消除文件中任何未使用的空间。
要检查的另一件事是,是否可以将文件保存为XLSX格式而不是XLSM。仅当工作簿中有宏时,才需要后一种文件类型。如果不需要宏,请使用“另存为”(再次为F12)并使用“另存为类型”下拉列表来指定所需的XLSX格式。
如果仍然无法将文件减小到所需大小,请使用“另存为”对话框并选择以XLSB格式保存文件。这是一种二进制格式,可以在文件中节省大量空间。
加载和重新计算时间
如果您对文件大小的主要关注与加载时间和重新计算时间有关,那么问题不仅仅在于工作簿中存储的内容。您仍然应该完成本技巧前面介绍的所有项目,但是您的工作簿可能仍需要很长时间才能加载。这是因为工作簿在加载时会自动重新计算,并且如果您的工作簿包含大量数据或许多复杂公式,则重新计算(而不是加载)会使速度降低。
为了最大程度地减少计算时间,您需要检查一些内容。
了解检查(和更正)这些内容不会太大地影响文件大小,但可以加快加载速度并节省时间。
摆脱循环引用。*解析循环引用所需的迭代需要时间,如果您有很多循环引用公式,则所需的时间实际上会加起来。
避免使用易失性函数。* Excel的某些工作表函数被视为“易失性”,这意味着它们在每次更改工作表中的任何单元格时都会触发重新计算。这些函数是RAND(),NOW(),TODAY(),OFFSET()和INDIRECT()。此外,取决于函数所使用的参数,INFO()和CELL()函数可能是易失的。
重新设计公式以提高效率。*这需要时间,侦探工作和知识,但是您通常可以重写公式以使用不同的技术来加快计算速度。 (当您获得必要的知识或遇到可能适用于您的情况的技巧和时间时,这种想法最好随时间而应用。)
尽量减少使用公式。如果您使用公式来计算单元格并且这些公式所依赖的值永远不会改变,那么您应该考虑摆脱公式本身。最简单的方法是选择所有单元格,按Ctrl + C *,然后使用“选择性粘贴”将值粘贴回到单元格中。
除非绝对需要,否则请摆脱外部链接。*从外部源(尤其是网络上的源)获取信息
确实可以减慢加载时间。
使用PowerPivot和PowerQuery。*如果您使用的是Excel 2010或更高版本,并且使用Excel处理大量数据,请考虑对工作表进行重新整理,以依靠更新的PowerPivot或PowerQuery工具。这些已被证明不仅功能强大,而且在处理大量数据方面也非常快。
如果计算时间仍然很长,则您可能要考虑关闭自动重新计算功能,而仅在准备好花费必要的时间时才手动进行重新计算。您可以使用本技巧中讨论的技术来关闭自动计算:
https://excelribbon.tips.net/T009999
_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。
本技巧(6792)适用于Microsoft Excel 2007、2010、2013和2016。