假设数据在a列,可以使用b列的公式round(a1,-2)下拉复制公式。
exc
没有现成的函数,但我们不妨用函数做一些运算。虽然不能保证100%正确,但是可以生成马马虎虎。
1.首先考虑使用随机数函数rand(),设计下表。b列生成10个随机数。
2.根据需要生成7到18的随机数。计算思路可以这样考虑:每个数据的保证数为7,10位数字的总数为70,剩下的30根据生成的随机数按比例分配给每个数据。
例如,单元格c2的公式是int(b2/$b$12*300.57),然后将公式向下复制到c10。
公式解读:int是整数函数;因为舍入函数没有舍入,"0.5"就是保证最大数量可以达到18,而且"7"是每个数据保证的最小值。
3.根据上面的计算,不可避免的会有四舍五入造成的误差,使总数出现99或101。为了确保总数是100,因此,第十个数直接计算100和前九个数之和的差。
4.每次打开表单,都是一组新的数据。或者在任何其他单元格中输入,也会生成新的数据。
5.然而,这可以我不能保证100%准确。偶尔,第10位数字会大于18。如果可以用宏(编程)判断和修正,我也可以暂时不用函数修正,让表生成一组新的数据。