如何做到Excel中批量加递进式流水号,但每一单元格的前缀不能改变?

如何做到Excel中批量加递进式流水号,但每一单元格的前缀不能改变?,第1张

你先选一个辅助列,比如B列。在B列输入101和102后,下拉出101,102,103,104,

在C1单元格输入公式:

=A1 & "-" & B1

然后下拉,就会得到如上图的效果。(如果你的原内容不在A列,那么这个公式中的A1就要作相应的更改;如果你选的辅助列不在A列,那么这个公式中的B1就要作相应的更改。)

然后你对C列整列复制,再用“选择性粘贴”(选:数值)把内容贴回到C列,这样C列的内容就固定下来了。最后把辅助列(我们用的是B列)的内容清空。

不知道你想显示的位数是多少?
B8=12&"+"&TEXT(MONTH(TODAY()),"0000")&"+"&TEXT(DAY(TODAY()),"0000")

=12&TEXT(MONTH(TODAY()),"0000")&TEXT(DAY(TODAY()),"0000")

=12&TEXT(MONTH(TODAY()),"00")&TEXT(DAY(TODAY()),"0000")
下拉
根据计算机系统日期自动变化

方法1:这个流水号最好放在押金单数据表里,字段设置为自增长长整数类型,Step=1,索引不重复,这样每增加一条押金单记录,这个流水号就会自动加一,打印报表时,从数据库取出这个流水号即可。非常方便。
例:采用SqlServer2005Express,其实别的数据库很类似,尤其是微软的几乎相同。
先建立流水表:
Create Table 押金单 (
流水号 int IDENTIFY PRIMARY KEY, --自增长整数类型,主键
金额 decimal(19,2) default 0, --默认为0
押款人 nvarchar(10) not null, --非空
押款时间 datetime default GetDate() --默认为取当前系统日期和时间
)
Go;--其实如果你不熟悉Sql语法,也可以用视窗设计界面来进行直观设计,无论是sqlserver还是Access,还是Foxpro还是别的数据库,都有类似的视窗设计界面。
每回创建新的押金单时那个流水号就会自动增一,不需要你再处理,数据库帮你做了。
在你用水晶报表打印押金单时,取出相应的记录即可。水晶报表的设计不用我说了,网上很多,拉数据还是推数据决定权在你。
方法2:将流水号记录进入文本文件,每次生成押金单报表时从文件取出这个号然后加一,将这个好传入对应的报表对象的TextObject对象,并保存流水号文件,这样做需要你经常检查这个文件以防止重复。
例:
创建一个文本文件,里面内容为最后的流水号文本,刚开始时可以是0,建立新的押金单时,读取这个文本的内容,转换为整数类型,加一,然后存回文本文件,同时,水晶报表对象假设为:rpt押金单,其中有一个文本框为流水号,名字为:TextLiushui,那么可以用报表的: rpt押金单ReportDocumentReportDifinitionReportObjects["TextLiushui"]Text=[新流水号];这条语句为这个文本框赋值,剩下的工作你自己完成了。记住[rpt押金单]一定是初始化过后的报表对象!
这两个例子你可以试一试。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/yw/13393706.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-27
下一篇 2023-07-27

发表评论

登录后才能评论

评论列表(0条)

保存