Excel formula Excel性能调优-RAND()

Excel formula Excel性能调优-RAND(),excel-formula,Excel Formula,我有一个工作簿,基本上是用来记录数据的。目前它包含大约400行,但每次运行进程时都会添加一个新行。其中一列在每行上包含=RAND,用于在导出数据时按随机顺序对数据进行排序 由于RAND计算的数量,工作表开始花费大量时间插入每一行。我想知道像RandBetween09999这样的东西是否能更有效地达到这一目的——或者是否还有另一种我不知道的替代方法……Rand是一个易失性函数,每当任何单元格发生更改时,都会导致整个工作簿的重新计算 可以使用“公式”功能区中的计算设置停止该操作。如果要运行重新计算,

我有一个工作簿,基本上是用来记录数据的。目前它包含大约400行,但每次运行进程时都会添加一个新行。其中一列在每行上包含=RAND,用于在导出数据时按随机顺序对数据进行排序


由于RAND计算的数量,工作表开始花费大量时间插入每一行。我想知道像RandBetween09999这样的东西是否能更有效地达到这一目的——或者是否还有另一种我不知道的替代方法……

Rand是一个易失性函数,每当任何单元格发生更改时,都会导致整个工作簿的重新计算

可以使用“公式”功能区中的计算设置停止该操作。如果要运行重新计算,请将“计算”设置为“手动”,然后单击“立即计算”或“计算图纸”命令


请注意,该设置作为应用程序应用于Excel,并将影响所有工作簿。如果您忘记已应用手动计算,并希望其他工作簿中的结果自动重新计算,则这可能会很危险。

向工作表中添加行的过程是什么?如果它是用任何一种脚本语言编写的,您能在插入之前为每个脚本添加一个随机值吗?这样你就不会依赖Excel的易失性函数,因为它会变得很慢。问题不是每行都使用Rand。问题是Rand是易失性的,就像所有易失性函数一样,一旦任何单元格发生更改,就会导致整个工作簿的重新计算。Rand本身是一个非常快速的函数,不需要任何时间进行计算。@RockStable是的,它是vb.net,我对它非常熟悉,所以我能想出的最好办法就是在Excel中按列排序——这是我拥有该列的唯一原因。我可以在每一行中插入一个新的随机数,但排序将是静态的。。。换句话说,每次我从这个Excel文件中提取数据时,它都会有相同的排序,因为数字是静态的,即使它们是随机的numbers@teylyn也许有一种方法可以防止单元格更改时重新计算?我真的需要重新计算时,该表是打开或关闭。。。