Excel 不随机化

vso*_*ler 0 excel excel-formula

我有一个非常简单的公式,请看图片。

(黑色)为什么excel不随机返回值,它们都是相同的,而在我看来,它们应该不同?

如何调整我的公式,以便返回的随机值不同?

我绝对想使用动态数组公式。

如果我删除 LET 函数(红色)(我认为这可能是问题的原因),问题仍然存在。

在此输入图像描述

Sco*_*ner 5

这是因为 RAND() 首先运行,并且当 if 为 false 时返回该值。它不返回数组。

在此输入图像描述

这就是他们发明 RANDARRAY() 的原因

=LET(a;B2:F2;IF(a=1;1;RANDARRAY(ROWS(a);COLUMNS(a))))
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

在此输入图像描述

另一个选项是 SCAN()

=SCAN(0;B2:F2;LAMBDA(a;b;IF(b=1;1;RAND())))
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

这两个选项都适用于二维范围。