execl表格里随机加减一个单元格里的数值?

怎么在一个单元格内随机加减另一个单元格里的数值?

随机的要求还是要用随机函数的,不过需要做一些处理:

    用随机函数生成随机值;

    用条件函数判断随机值;(比如我们规定当随机值等于1时执行加,否则执行减)

    示例:C1 =IF(RANDBETWEEN(0,2)=1,A1+B1,A1-B1)

你的想法可能是:B1=B1+A1或者B1=B1-A1 ,但在Excel里默认是不推荐这样做的,单元格不能引用自身(开启设置后可以这样写,但循环引用会影响计算结果以及消耗硬件资源),因此你只能在别的单元格来做这件事,示例中就是用C1来存放的。


如果被加减的单元格也是随机的单元格,那么:

1. 在上面1、2步的基础上,加入随机引用,用INDIRECT()生成随机单元格。
示例:

C1 =IF(RANDBETWEEN(0,2)=1,A1+INDIRECT("B"&RANDBETWEEN(1,1000),TRUE),A1-BINDIRECT("B"&RANDBETWEEN(1,1000),TRUE))

但并不完美:单元格A1样式引用由字母+数字组成,随机函数只能生成数字,字母则无能为力。我们需要改一下,使用R1C1样式:


C1 =IF(RANDBETWEEN(0,2)=1,A1+INDIRECT("R"&RANDBETWEEN(1,1000)&"C"&RANDBETWEEN(1,1000),false),A1-BINDIRECT("R"&RANDBETWEEN(1,1000)&"C"&RANDBETWEEN(1,1000),false))

单元格个数千千万,真要这么干的话,记得尽可能缩小引用区域!毕竟加、减0也没啥意义。


需要留意的点:

    表格支持的最大列和最大行是有上限的,随机函数中的最大值不能超过最大行号和最大列号。

    还有就是概率问题。

追问

再问一下,我打算把一个数值随机加减这个数的随机百分比,就用得到小数点以下的范围,那些公式可以把一个数值随机加减这个数的随机百分比范围,行得通吗?

温馨提示:答案为网友推荐,仅供参考
第1个回答  2022-06-29
Excel中一个值随机加减几个单元格中的任一数值 在C1中输入或复制粘贴此公式

从B1中随机加减A列中几个单元格中的任一数值

=B1+INDIRECT("A"&RANDBETWEEN(1,100))*(-1)^RANDBETWEEN(1,2)

从B1中随机加减A列中几个单元格中的值的和

=B1+SUM(INDIRECT("A"&RANDBETWEEN(1,100)&":A"&RANDBETWEEN(1,100)))*(-1)

^RANDBETWEEN(1,2)
第2个回答  2022-06-29
Excel中一个值随机加减几个单元格中的任一数值 在C1中输入或复制粘贴此公式

从B1中随机加减A列中几个单元格中的任一数值

=B1+INDIRECT("A"&RANDBETWEEN(1,100))*(-1)^RANDBETWEEN(1,2)

从B1中随机加减A列中几个单元格中的值的和

=B1+SUM(INDIRECT("A"&RANDBETWEEN(1,100)&":A"&RANDBETWEEN(1,100)))*(-1)

^RANDBETWEEN(1,2)
第3个回答  2022-06-29
Excel中一个值随机加减几个单元格中的任一数值 在C1中输入或复制粘贴此公式

从B1中随机加减A列中几个单元格中的任一数值

=B1+INDIRECT("A"&RANDBETWEEN(1,100))*(-1)^RANDBETWEEN(1,2)

从B1中随机加减A列中几个单元格中的值的和

=B1+SUM(INDIRECT("A"&RANDBETWEEN(1,100)&":A"&RANDBETWEEN(1,100)))*(-1)

^RANDBETWEEN(1,2)
第4个回答  2021-03-18
比如一个数在A1,要随机加或减B1,公式可为
=A1+IF(RAND()>0.5,1,-1)*A2

=A1+A2*-1^(RAND()>0.5)
类似这样也可以
相似回答