Excel随机生成日期时间数值及文本格式转换的自动打印单据案例(持续更新)

原创 kaixinit  2019-04-02 12:42  阅读 1,832 次

案例:为了方便统计人员打印单据需要,通过两天时间,初步简单设计了一套涉及打印单据涉及的相关随机函数及表格设计思路

操作:

一、数据源自动生成表内的下列为标题名称如下:

日期 材料名称 送货单位 车号 毛重 皮重 净重 扣重 实重 毛重过磅员 皮重过磅员 毛重时间 毛皮重时间差

1.日期栏,区间2019年3月1日至31日,随机日期函数如下:

=TEXT(RAND()*("2019-3-31"-"2019-3-1")+"2019-3-1","e/m/d")

2.材料名称,送货单位,车号,过磅员,体现随机的文本数值,以车号为例,有发生的四个车号,车号为A1,A2,A3,A4,随机文本车号函数如下:

=CHOOSE(RANDBETWEEN(1,4),"A13","A2","A3","A4")

3.毛重,皮重,扣重,以毛重重量在66000kg,上下浮动2000kg-500kg即:68000kg-65500kg之间,数值十位开始随机,个位为0的随机数值重量函数如下:

=66000+FLOOR(INT(RAND()*2000-500),10)

4.净重(毛重-皮重),实重(净重-扣重)

5.毛重过磅员,皮重过磅员为1人的,不要随机了,直接输入A或者B人就可以

6.毛重时间,区间23时59分至9时0分,随机时间函数如下:

=TEXT(RAND()*("23:59"-"9:00")+"9:00"," hh:mm:ss")

7.毛皮重时间差,区间为20分至5分,随机时间函数如下:

=TEXT(RAND()*("00:20"-"0:05")+"0:05"," hh:mm:ss")

二、因为上述的全部为自动随机生成的数值、日期、时间、文本等格式数据,为了固定数据,我们需要把这些数据粘贴到需要打印的表明为打印表内,操作如下:

编号 日期 材料名称 送货单位 车号 毛重 皮重 净重 扣重 实重 毛重过磅员 皮重过磅员 毛重时间 毛皮重时间差 皮重时间

1.从日期至毛皮重时间差,从数据源自动生成表内复制粘贴对应的日期至毛皮重时间差单元格,格式为123数值格式,但是因为随机数值多少需要修正一下,这样针对净重=毛重-皮重,实重=净重-扣重,使用公式调整下,便于最终数据的一致性计算。

2.日期,选中日期列,使用分列进行更改为日期格式,数据-分列-分列符号,下一步-默认,下一步-列数据格式选择为日期:YMD,完成即可。

3.毛重时间,毛皮重时间差,因为是text文本自动生成,发现原来是时间格式第一格被空一格,怪不得用公式套做不出来,具体操作是:两列选中,ctrl+H,查找内容空一格,替换为默认,不要更改,选择 全部替换即可。

4.皮重时间公式为毛重时间+毛皮重时间差。

5.编号格式为:('0000),表明的四位编码,编码前有个 ' 号。

6.需要每天的合计重量,把打印表内的数据表用数据透视表即可完成的。

7.Excel使用VAB代码建立宏控件,每打印一次自动递增一次编号,在上一篇文章有介绍,可以参考下。

8.2019年4月2日,今天落实具体的打印票据人员测试本表时,虽然日期可以按顺序排序,但是和毛重时间又不能和日期的先后进行顺序排序,这样的需要在:

(1)数据源自动生成表内增加一个辅助列,放在日期前命名为排序日期列,公式=TEXT(日期,"YYYY/M/D")&" "&TEXT(毛重时间,"H:MM:SS")

(2)打印表内针对粘贴的排序日期列文本,使用分列进行更改为日期格式,数据-分列-分列符号,下一步-默认,下一步-列数据格式选择为日期:YMD,完成即可。

(3)这样就可以把日期和时间连接在一起按顺序排序。

 

本文地址:http://www.kaixinit.com/info/office/1959.html
版权声明:本文为原创文章,版权归 kaixinit 所有,欢迎分享本文,转载请保留出处!

发表评论


表情