Excel 易失性函数是什么意思-Excel易失性函数小结-Excel学习网
【摘要】在 使用Excel VBA测试报告计算时间中,我描述了一个宏,该宏查找指定次数计算Excel所需的总时间。这篇文章介绍了我为测试各种查找方法而
在“ 使用Excel VBA测试报告计算时间”中,我描述了一个宏,该宏查找指定次数计算Excel所需的总时间。这篇文章介绍了我为测试各种查找方法而设置的工作簿。下一篇文章(Excel的最快查找方法:The Tested Results)将解释我从这些测试中学到的知识。
测试工作簿需要满足两个条件。
首先,它需要一个足够大的数据库,以使查找公式能够相当有效地工作。其次,它需要具有可变性。
第一个标准是不言自明的。但是,波动率是多少?
易失性公式是您的工作簿每次计算时都会计算的公式。了解到大多数Excel函数是非易失性的,您可能会感到惊讶。也就是说,为了加快表观的计算时间,大多数Excel函数仅在其源数据发生更改时才进行计算。
通常,具有非易失性功能是一件好事。如果自上次计算以来公式中没有任何变化,则Excel没有理由花时间重新计算该公式。
但是,我们要测试不同查找功能的计算时间。因此,我们需要它们在每次Excel计算时进行计算。因此,为了使这些函数易失,我们需要确保每次重新计算时源数据都会更改。
所以这就是我的做法...
测试工作簿的数据工作表*-*
此图显示了简单数据库的顶部。这是两个关键公式:
A2:=“ R”&ROW()
此公式将唯一的“代码”值返回到其要复制到的A列中的每个单元格。它模拟产品代码,客户代码或您可能想要查找的其他代码。
B2:= ROW()&”-“&COLUMN()
此公式模拟Excel数据库的行和列中可能存在的数据。
现在,我需要将单元格A2中的公式复制到范围A2:A50001中。潜在的问题是单元格A50001在我的工作表中距离很远。要像在电子表格中移动时通常的方式进入单元格A50001,我必须多次单击Page Down键。
但是我没有这样做,因为有一种更简单的方法:
我像往常一样选择了单元格A2,然后按Ctrl + C进行复制。但是,然后按F5键启动“转到”对话框。输入A50001作为参考;然后按确定。现在已经选择了单元格A50001,我按了Ctrl + Shift +上箭头将选择范围向上扩展到单元格A2。然后按Ctrl + V粘贴公式。
当您需要将长距离移动到工作表中时,请记住此F5技巧。
然后,我使用类似的方法将单元格B2中的公式复制到范围B2:F50001。
因为我想针对排序和未排序的数据测试查找功能,所以我决定从未排序的数据开始。所以我在上面显示的单元格中输入了此公式...
G2:= RAND()
…并将其复制到G2:G50001。我按此列对数据进行了排序,从而得到了上图所示的“未排序”结果。然后我删除了G列。
我将范围名称Data分配给范围A2:F50001。最后,我将名称Data分配给数据库工作表。(当工作表和范围具有相同的名称时,没有问题。)
测试工作簿的报告工作表*-*
在第二个工作表中,我建立了一个包含1,000行结果的报告。此图显示了该报告的顶部。
B:F列中的公式将使用不同的公式集来测试不同的查找方法。我将在下一篇文章中讨论这些公式。
但是,因为我们希望每次重新计算Excel时都强制重新计算B:F列中的所有公式,因此我们需要在A列中的代码每次Excel重新计算时都进行更改。这是我们的方法:
A3:= INDEX(代码,1 + INT(RAND()* 50000))
RAND函数是易失的;因此,每次Excel计算时,RAND都会返回一个介于0和1之间的新随机数。单元格A3中的公式将该随机十进制值乘以50,000;它会找到此结果的整数值,范围是0-49,999;然后将1加到整数值,使其达到1-50,000的范围。最后,此公式从代码范围内从随机选择的索引号返回值。
将单元格A3复制到范围A3:A1002,为您提供包含1000行的报告。
在下一篇文章中,我将在其他列中解释这些公式并讨论它们的计算时间。
就业培训申请领取
环球青藤
官方QQ群扫描上方二维码或点击一键加群,免费领取大礼包,加群暗号:青藤。 一键加群
刷题看课 APP下载
免费直播 一键购课
代报名等人工服务