=MOD(LARGE(ABS(IF({1,1,0},{30,0}-RANDBETWEEN(ROW(1:3)*0,30),{0;0;81}-MMULT({1,0;0,1;1,1},RANDBETWEEN({25;26},30))))+RANDBETWEEN(X1:Z3+1,3)*99,ROW(1:9)),99)+70
题目;随机产生9个70到100之间的数值,使9个值的平均值为89。
操作:选中A1:A9单元格区域,在公式栏输入如下 公式,按下CTRL+SHIFT+ENTER,生成9个数
=MOD(LARGE(ABS(IF({1,1,0},{30,0}-RANDBETWEEN(ROW(1:3)*0,30),{0;0;81}-MMULT({1,0;0,1;1,1},RANDBETWEEN({25;26},30))))+RANDBETWEEN(X1:Z3+1,3)*99,ROW(1:9)),99)+70
1、计算公式 :RANDBETWEEN({25;26},30),随机生成一个数组,有两个数,第1个数值取值范围在25-30之间,第2个数值取值范围在26-30之间
=MOD(LARGE(ABS(IF({1,1,0},{30,0}-RANDBETWEEN(ROW(1:3)*0,30),{0;0;81}-MMULT({1,0;0,1;1,1},{28;26})))+RANDBETWEEN(X1:Z3+1,3)*99,ROW(1:9)),99)+70
2、计算公式:RANDBETWEEN(X1:Z3+1,3),
解释:RANDBETWEEN(X1,3),取值范围在0、1、2、3之间,RANDBETWEEN(X1+1,3),取值范围在1、2、3之间,RANDBETWEEN(X1:Z3+1,3),其中X1:Z3表示一个单元格区域,三行三列,这里生成二维数组,每个元素包含3个值,取值范围在1-3之间,如:{1,1,3;2,1,3;2,2,1}
=MOD(LARGE(ABS(IF({1,1,0},{30,0}-RANDBETWEEN(ROW(1:3)*0,30),{0;0;81}-MMULT({1,0;0,1;1,1},{28;26})))+{1,1,3;2,1,3;2,2,1}*99,ROW(1:9)),99)+70
3、计算数组{1,1,3;2,1,3;2,2,1}*99,,让每个值乘以99,得到新数组:{99,99,297;198,99,297;198,198,99},公式变为
=MOD(LARGE(ABS(IF({1,1,0},{30,0}-RANDBETWEEN(ROW(1:3)*0,30),{0;0;81}-MMULT({1,0;0,1;1,1},{28;26})))+{99,99,297;198,99,297;198,198,99},ROW(1:9)),99)+70
4、计算公式:MMULT({1,0;0,1;1,1},{28;26}),结果为:{28;26;54}
=MOD(LARGE(ABS(IF({1,1,0},{30,0}-RANDBETWEEN(ROW(1:3)*0,30),{0;0;81}-{28;26;54}))+{99,99,297;198,99,297;198,198,99},ROW(1:9)),99)+70
5、计算公式:ROW(1:3),生成数组:{1;2;3}
{1;2;3}*0,结果为数组:{0;0;0}
6、计算函数:RANDBETWEEN({0;0;0},30),生成一个数组,3个元素数值,数组随机生成0-30之间的数
=MOD(LARGE(ABS(IF({1,1,0},{30,0}-{11;28;24},{0;0;81}-{28;26;54}))+{99,99,297;198,99,297;198,198,99},ROW(1:9)),99)+70
7、计算数组:{30,0}-{11;28;24},结果 为:{19,-11;2,-28;6,-24},让第一个数组的每个元素分别与第二个数组的每个元素依次相减。得到一个新数组
=MOD(LARGE(ABS(IF({1,1,0},{19,-11;2,-28;6,-24},{0;0;81}-{28;26;54}))+{99,99,297;198,99,297;198,198,99},ROW(1:9)),99)+70
8、计算数组:{0;0;81}-{28;26;54},结果为:{-28;-26;27},同维度数组相减,每个
=MOD(LARGE(ABS(IF({1,1,0},{19,-11;2,-28;6,-24},{-28;-26;27}))+{99,99,297;198,99,297;198,198,99},ROW(1:9)),99)+70
9、计算if函数:IF({1,1,0},{19,-11;2,-28;6,-24},{-28;-26;27}),结果为:{19,-11,-28;2,-28,-26;6,-24,27} ?不懂怎么计算的
=MOD(LARGE(ABS({19,-11,-28;2,-28,-26;6,-24,27})+{99,99,297;198,99,297;198,198,99},ROW(1:9)),99)+70
10、计算函数:ABS({19,-11,-28;2,-28,-26;6,-24,27}),取绝对值,结果为:{19,11,28;2,28,26;6,24,27}
=MOD(LARGE({19,11,28;2,28,26;6,24,27}+{99,99,297;198,99,297;198,198,99},ROW(1:9)),99)+70
11、计算ROW(1:9),结果为:{1;2;3;4;5;6;7;8;9}
=MOD(LARGE({19,11,28;2,28,26;6,24,27}+{99,99,297;198,99,297;198,198,99},{1;2;3;4;5;6;7;8;9}),99)+70
12、LARGE({19,11,28;2,28,26;6,24,27}+{99,99,297;198,99,297;198,198,99},{1;2;3;4;5;6;7;8;9}),结果为:{325;323;222;204;200;127;126;118;110}
=MOD({325;323;222;204;200;127;126;118;110},99)+70
13、计算mod函数:MOD({325;323;222;204;200;127;126;118;110},99),让数组每个值对 99取余数,结果为:{28;26;24;6;2;28;27;19;11}
={28;26;24;6;2;28;27;19;11}+70
14、数组与70相加,生成新数组:{98;96;94;76;72;98;97;89;81},这数组中每个数值将依次放到A1-A9单元格中
这个分析看不出来如何编写公式的思路。简单的来说就是题目要求:随机产生9个70到100之间的数值,使9个值的平均值为89。
比如如果修改成20个随机数,范围在60-80,平均值是75,不知道如何更改。有点点猜想,但肯定不对。 |