You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

横向排列带对应概率的单元格随机选取方案求助(不可新增行)

按概率随机选取横向排列的姓名

适用Excel 365/2021及以上版本的公式

直接在数据后方的空白单元格(比如E2)输入以下公式:

=LET(
    names, FILTER($A2:$ZZ2, MOD(COLUMN($A2:$ZZ2)-COLUMN($A2)+1,2)=1),
    probs, FILTER($B2:$ZZ2, MOD(COLUMN($B2:$ZZ2)-COLUMN($B2)+1,2)=0),
    cum_probs, SCAN(0, probs, LAMBDA(a,b,a+b)),
    INDEX(names, MATCH(RAND(), cum_probs, 1))
)

公式说明:

  • names:自动筛选当前行中所有奇数位置的单元格(即你的姓名列,比如A2、C2、E2...)
  • probs:自动筛选当前行中所有偶数位置的单元格(即对应的概率列,比如B2、D2、F2...)
  • cum_probs:计算概率的累计和,用于确定随机数的落地区间
  • INDEX+MATCH:用RAND()生成0-1的随机数,匹配到对应的累计概率区间,返回对应的姓名

旧版Excel兼容公式

如果用的是没有LET/FILTER/SCAN的旧版Excel,用以下数组公式(输入后按Ctrl+Shift+Enter确认):

=INDEX($A2:$ZZ2,1,MATCH(RAND(),SUBTOTAL(9,OFFSET($B2,0,0,1,ROW(INDIRECT("1:"&INT(COLUMNS($A2:$ZZ2)/2)))*2)),1)*2-1)

注意事项:

  • 调整公式中的$A2:$ZZ2范围,匹配你实际的数据列数,避免包含过多空白单元格
  • 确保所有概率的总和为1,否则随机选取的结果会不符合预期
  • 每次按F9刷新工作表,公式会重新生成随机结果,完全符合设定的概率分布

内容的提问来源于stack exchange,提问作者Samy Somy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 07:05:06