在 LibreOffice Calc 中自动生成随机日期
我想老揉孟阼写一篇关于数据透视表的经验,这就需要一个拥有足够数据量的数据源表,表中有一列是日期列。一行一行的输入太慢了。如果能自动随机生成日期就好了。于是想到了 RAND() 函数。在本经验中,就介绍一下用 RAND()函数自动生成随机的日期序列。
工具/原料
LibreOffice Calc 5.4.2.2。
得到初始日期对应的数字
1、在电子表格中,日期其实是一串数字。在某一单元格中,用英文状态输入:2017-1-1然后单击右键,在弹出的右键菜单中单击“单元格格式”。
2、在弹出的“单元格格式”对话框中,在第一个选项卡“数字”中,将选项由原来的“日期”,转换为“数字”,最后确定。
3、单元格中的值,由原来的“2017-01-01”,变成了一串数字:42736。这说明,日期的本质是数字,以这里的数字为例,表示 2017 年 1 月 1 日其实是从 1900 年 1 月 1 日起,经过了42736 天。
自动生成随机日期
1、在上面日期变成数字单元格的右边,先输入:=RAND()*365RAND 这个函数能够产生一个从 0 到 1 之间的随机数。让它乘以 365,则确保最后的随机数位于 0 到 365 这样一个一年期间之内。
2、接着输入加号,然后单击日期变成数字的单元格,按 F4 键将该单元格的引用由相对引用变成绝对引用。
3、最后按下回车,得到第一个随机数字。这其实是从 0 到 365 中间随机挑选一个数字,让它与 2017 年 1 月 1 日所对应的数字相加,也就是2017 年 1 月 1 日之后任意的某一天对应的数字。
4、用前述将日期转换成数字相同的方法,将前面这个数字转换成日期。转换后的日期是大于2017 年 1 月 1 日的任意日期,符合我们的预期。
5、拖动当前单元格右下角的拖动柄,复制到需要的数目,这样就自动生成了一系列随机日期。可以将本经验的公式简化成:=RAND()*365+DATE(2017,1,1)效果是一样的。