Excel 公式生成条件随机值

Excel 公式生成条件随机值

我正在尝试获取一个公式,该公式将根据定义的条件生成随机值。由于我可能解释不正确,因此这里是我的例子:

我有一个包含 ID 号的 A 列。我有一个包含各种状态(已批准、已拒绝等)的 B 列。在另一个工作表的给定单元格中,我想从 A 列生成一个随机申请号,该申请号在 B 列中具有相应的状态“已批准”。我尝试了使用 INDEX 和 RANDBETWEEN 组合的各种技术,但无法得到我需要的结果。任何帮助都非常感谢。

答案1

另一种可能的表达方式:

=INDEX(A1:A30,INDEX(LARGE((B1:B30="Approved")*ROW(A1:A30),ROW(A1:A30)),1+INT(RAND()*COUNTIF(B1:B30,"Approved"))))

在此处输入图片描述

假定ID为A1:A30,状态为B1:B30

答案2

此公式将过滤“已批准”,然后随机选择一个返回:

=INDEX(A:A,AGGREGATE(15,6,ROW($B$1:INDEX(B:B,MATCH("zzz",B:B)))/($B$1:INDEX(B:B,MATCH("zzz",B:B))="Approved"),RANDBETWEEN(1,COUNTIF(B:B,"Approved"))))

在此处输入图片描述


笔记:

它是易失性的,每次 Excel 重新计算时它也会重新计算。您可以通过按 F9 来看到这一点,这会强制 Excel 重新计算。

相关内容