分享

Excel如何生成指定年份随机日期:RAND和RANDBETWEEN应用技巧

 部落窝教育BLW 2023-04-05 发布于四川

编按:在Excel里有两个专门生成随机数的函数:RAND和RANDBETWEEN。今天通过几个示例来和大家分享一下随机数的妙用。


示例1:生成指定年份的随机日期

在Excel中,日期的本质是数值,因此可以使用随机数来生成随机日期。

有三个公式都可以实现这个功能。

公式1:=RANDBETWEEN(DATE($A$2,1,1),DATE($A$2,12,31))

公式1中设置2019年1月1日作为随机整数的下限,设置2019年12月31日作为随机

整数的上限,然后利用RANDBETWEEN函数产生随机整数,即可得到2013年的随机日期。

公式2:=DATE($A$2,1,RANDBETWEEN(1,365))

 

公式2将随机数作为date函数的第三参数,也可以生成指定年份的随机日期。需要注意平年和闰年的差别,平年为365天,闰年为366天。

公式3:=RANDBETWEEN(A$2&-1,(A$2+1&-1)-1)

 

公式3利用文本合并符&将A2单元格的年份与-1合并,得到字符串“2013-1”,意思是2013年1月1日。同理A2+1&-1得到字符串“2014-1”,再将字符串-1,得到2013年12月31日。按照运算符的运算顺序,+、-号优先于&号,所以(A2+1&-1)需要加括号。这个公式对于Excel公式的计算顺序和日期原理要比较熟悉,不然就不太好理解。


示例2:生成一组不重复的随机整数

有两种方法可以实现这种功能,方法1使用辅助列,方法2使用数组公式。

方法1:使用RAND函数作辅助列,用RANK函数排序生成不重复的随机整数。

B列使用公式=RAND()得到一组随机数,C列使用公式=RANK(B2,$B$2:$B$13)得到每个随机数的排名,这样就间接得到了一组不重复的随机整数。

方法2:使用数组公式=SMALL(IF(COUNTIF($E$1:E1,ROW($1:$10))=0,ROW($1:$10)),INT(RAND()*(11-ROW(1:1))+1))生成10个不重复的随机整数。

 

如果要生成的随机整数不是10个,就需要修改箭头所指的三个地方。

这个公式的原理比较复杂,就不赘述了。


示例3:生成一组随机的英文字母

思路是使用随机函数产生字母的数字代码,然后使用CHAR函数将其全部转换为英文字母。

首先必须知道大写英文字母的数字代码为65~90,小写英文字母的数字代码为97~122,使用RANDBETWEEN函数产生65~90的随机整数。

然后使用INT(RAND()*2)*32随机返回0或32,目的是实现大小写字母均有50%的出现概率。

最后使用CHAR函数将数字代码转换为英文字母。

最终的公式是:=CHAR(INT(RAND()*2)*32+RANDBETWEEN(65,90))


示例4:利用随机数制作加减乘除练习题

需要5个步骤:

步骤 1:制作题目的编号,使用 TEXT 函数将编号设置为带括号的数字。

公式为=TEXT(ROW(A1),"(0)")

步骤 2:制作随机的加、减、乘、除符号。

公式为=MID("+-×÷",RANDBETWEEN(1,4),1)

步骤 3 :首先判断 C 列是否为乘或除符号,如果是,则产生 1~10 的随机整数,否则产生 0~99 的随机整数。

公式为:=IF(OR(C3={"×";"÷"}),INT(SQRT(RAND()*99))+1,RANDBETWEEN(0,99))

步骤 4 :使用 FIND 函数查询加、减、乘、除符号的位置,通过 CHOOSE 函数选择对应的随机数范围。

公式为:

=CHOOSE(FIND(C3,"+-×÷"),RANDBETWEEN(0,99-D3),RANDBETWEEN(D3,99),RANDBETWEEN(0,INT(99/D3)),RANDBETWEEN(0,INT(99/D3))*D3)

步骤5:最后一列输入=即可,完成后效果见下图。

特别说明:这个例子只是为了学习公式函数之用,并不一定符合实际使用的要求。


做Excel高手,快速提升工作效率,部落窝教育《一周Excel直通车》视频和《Excel极速贯通班》直播课全心为你!

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多