Excel,在 IF 函数内部使用函数之间的 Rand,根据返回的值大约有 10 个结果。(仅 1 个 Cel)

Excel,在 IF 函数内部使用函数之间的 Rand,根据返回的值大约有 10 个结果。(仅 1 个 Cel)

我正在尝试使用 if 函数生成随机数据,以供我的同事练习。

公式如下:

=IF(COUNTBLANK(E70)=1,"",(IF(E70="Shell Head office and Back",IF(RANDBETWEEN(1,10)<3,"MeetingatHeadOffice",IF(RANDBETWEEN(1,10)<6,"Report Submission","Training")),IF(RANDBETWEEN(1,10)<7,"Inspect - Oil Damage Claim",IF(RANDBETWEEN(1,10)<5,"Claim Finding Discussion","Incident Isolation")))))

这是我想如何为我的同事生成练习信息以供复习的粗略想法。文档中有多个与此类似的函数。我想将函数之间的随机数减少到 1,并具有如上所述的多个条件和多个结果。

答案1

假设我们想要实现:

在此处输入图片描述

但是我们希望公式不要RANDBETWEEN()一遍又一遍地重复。我们可以使用CHOOSE()如下方法:

=CHOOSE(RANDBETWEEN(1,10),"A","A","A","B","B","C","C","C","D","D")

编辑#1:

这是一个仅包含一个的解决方案RANDBETWEEN(),但需要一个小的分配表来驱动它。将 10 个选项放在列中A. 将所需百分比 (作为整数)列C1进入:

=B1

C2进入:

=B2+C1

并向下复制。列C表示累积分布(作为整数):

在此处输入图片描述

在上表中,我们想要

10% A
5% B
6% C
等等。

最后F1进入:

=INDEX($A$1:$A$10,MATCH(TRUE,INDEX($C$1:$C$10>=RANDBETWEEN(1,100),0),))

我无法避开额外的桌子。

在此处输入图片描述

相关内容