此类问题我们第一反应是这是VLOOKUP函数问题,要用到此函数解决问题就要建构辅助列。对于此题我们分三步:
1.对原数据表构建唯一代码。在原表前插入两列,如图在A2输入1 在A3输入公式=IF(C3=C2,"",LOOKUP(999^10,$A$2:A2)+1) 往下复制公式 ;在B2输入1#1 在B3输入公式=IF(C3=C2,MID(B2,1,FIND("#",B2,1))&MID(B2,FIND("#",B2,1)+1,2)+1,A3&"#"&ROW(A1)) 往下复制公式。结果如下
第二步对表单构建辅助列。在表单前插入两列,在与表单抬头“收据”行的插入列即M1单元格输入1 ,在M2输入公式=IF(O2="收据",LOOKUP(999^10,$M$1:M1)+1,"") 往下复制公式;在N2输入公式=IF(O2>0,LOOKUP(999^10,$M$1:M1)&"#"&O2,"")往下复制公式;至此我们已可以用VLOOKUP函数了
第三步用VLOOKUP导入数值,在表单最后第一空列按所需内容用VLOOKUP函数得到数值,这个简单我就不试范。再在N列前插入几列(列数等于收据单列数),然后N列 数字#数字 这样数值,然后选中删除,记住选“右边单元格左移”,到此已完操作。最后用格式刷刷一下OK.
你这一张一张是要按人员姓名打印?还是按单号打印?打印纸张是连续的票据打印纸还是普通的纸张?
若是普通的纸张连续打印本身就实现不了,若是票据打印纸则需要清楚是有格式印好的还是空白纸。因为需要考虑是的是通过什么方式处理你的问题
这个问题可以用WORD提供的“邮件合并”功能来完成,很方便的。在excel中记录相关需要打印的姓名,起止时间,然后在WORD中建立一个打印格式的空白表格,在WORD中使用“工具”菜单下的“邮件合并”命令,分别引用excle中的姓名…………信息就行了。
我只能说你这个表设计的不好
前面的数字不好输
后面的数字不能自动计算
如果用公式倒是能实现
但是太麻烦
一般是懒人的心比较大。
要做到小处着手大处着眼。