Excel如何写公式实现每10行随机生成2个false其余为true
Excel按10行区间随机选2行填充false的实现公式
核心逻辑
每10行划分为独立区间,给区间内每行分配独立随机值,取每个区间内随机值最小的2行填充FALSE,剩余行填充TRUE,可保证每个区间恰好2个FALSE,位置完全随机无规律。
可用公式
根据你使用的Excel版本选择对应公式,在新增列的第一个数据行单元格输入,下拉填充到所有数据行即可。
- Excel 365/2021及以上支持动态数组的版本(直接回车确认即可)
假设数据从第1行开始(无表头),公式如下:
公式里的=SUMPRODUCT((ROUNDUP(ROW($1:$10000)/10,0)=ROUNDUP(ROW()/10,0))*(RAND()<RAND($1:$10000)))>=2$1:$10000可以替换成你实际数据的行范围,比如数据一共到500行就改成$1:$500。 - Excel 2019及更早无动态数组的版本
输入公式后需要按住Ctrl+Shift再按回车,以数组公式形式确认运行,数据从第1行开始的公式和上面一致,只是确认方式不同。
适配调整说明
- 如果你的表格有表头,数据从第2行开始,把公式里所有
ROW()替换为ROW()-1,行范围对应改成从第2行开始即可,示例:=SUMPRODUCT((ROUNDUP((ROW($2:$10000)-1)/10,0)=ROUNDUP((ROW()-1)/10,0))*(RAND()<RAND($2:$10000)))>=2 - 公式里的
RAND()是自动刷新的随机函数,后续编辑表格、刷新计算时随机结果会重新生成。如果要固定已经生成好的FALSE位置,选中新增列所有公式结果,右键选择「粘贴为值」即可永久固定结果,不会再随机变动。
内容的提问来源于stack exchange,提问作者Graham Thomas
相关产品推荐
相关产品推荐

