Follin Asked:2024-12-09 18:04:16 +0800 CST2024-12-09 18:04:16 +0800 CST 2024-12-09 18:04:16 +0800 CST 根据历史数据得出数值总和的分布 772 需要根据历史数据将随机数量的客人分配到时间间隔内。是否可以让 Excel 计算出某个时间段内客人总数的百分比,并根据星期一测试列中的旧数据分发一个新的随机数?例子: 我研究了通过数据透视表或输入每个时间段的手动百分比来解决此问题的方法。也许有一个特殊的工具可以解决这个问题? excel 2 个回答 Voted Best Answer rotabor 2024-12-09T18:45:25+08:002024-12-09T18:45:25+08:00 所有问题都可以通过一个公式来解决,由于总数不是这个数,因此让“1000/396”简单地成为比例系数: [C2]=ROUND(B2:B16*C17/B17;0) 如果我们重新计算总数, 然后您可以根据给定的总数按间隔计算访客分布: [C2]=LET(arr;B2:B16;tgt;B18;rs;ROWS(arr);rwv;arr*tgt/SUM(arr);rdv;ROUND(rwv;0); dt;SUM(rdv)-tgt;darr;rdv-rwv;cso;SORTBY(SEQUENCE(rs);darr);rdvs;SORTBY(rdv;darr); SORTBY(MAKEARRAY(rs;1;LAMBDA(r;c;INDEX(rdvs;r)-IFS(r>rs-dt;1;r<=-dt;-1;TRUE;0)));cso) ) 图中,除了问题作者的数据外,在“F:I”列中还给出了另一个示例。 “无修正”列(对应于公式中的 rdv)和黄色突出显示说明了舍入误差修正算法的操作,该算法将舍入误差最大的区间中的访客数量更改为 1,以消除与指定数字的差异。 vikttur_Stop_RU_war_in_UA 2024-12-10T08:14:03+08:002024-12-10T08:14:03+08:00 让我们玩 :) 调整公式(列中F),未经优化: {=ЕСЛИ(E2-СУММ(ОКРУГЛ(B6:B20*F2;))=0; ОКРУГЛ(B6:B20*F2;); ОКРУГЛ(B6:B20*F2;)+ ЕСЛИ(B6:B20*F2-ОКРУГЛ(B6:B20*F2;)>= НАИБОЛЬШИЙ(B6:B20*F2-ОКРУГЛ(B6:B20*F2;);ABS(E2-СУММ(ОКРУГЛ(B6:B20*F2;)))); ЗНАК(E2-СУММ(ОКРУГЛ(B6:B20*F2;)))))} 检测到的缺陷:如果在原始范围内有相同的值,НАИБОЛЬШИЙ则会确定需要进行比必要更多的校正。修复-更改调整次数的计算... 事实是,是的,你可以拿它开玩笑,但对于这项实际任务来说,这太过分了。
所有问题都可以通过一个公式来解决,由于总数不是这个数,因此让“1000/396”简单地成为比例系数:
如果我们重新计算总数,
然后您可以根据给定的总数按间隔计算访客分布:
图中,除了问题作者的数据外,在“F:I”列中还给出了另一个示例。 “无修正”列(对应于公式中的 rdv)和黄色突出显示说明了舍入误差修正算法的操作,该算法将舍入误差最大的区间中的访客数量更改为 1,以消除与指定数字的差异。
让我们玩 :)
调整公式(列中
F
),未经优化:检测到的缺陷:如果在原始范围内有相同的值,
НАИБОЛЬШИЙ
则会确定需要进行比必要更多的校正。修复-更改调整次数的计算...事实是,是的,你可以拿它开玩笑,但对于这项实际任务来说,这太过分了。