设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用Excel进行分页打印数据

1970-1-1 08:00| 发布者: 闻鸥| 查看: 2183| 评论: 0

大家在平时的工作中,有些工作表行数很多,打印时需要分页,往往在分页时除了每页需有标题外还需要对每一页的某些列求和。打印设置时由于边框宽窄不同、每行高度不同和纸张大小的不同,因而每页能打印的行数不同。因此预先在表中插入每页的的标题和汇总并不可行,而且对原表格进行操作破坏了元表的完整性。
    本工作簿包含两张工作表即"清单"和"分页打印",采用与"工资条格式"模板相似的公式,通过调节"分页打印"表F1单元格的数值(每页打印行数)即能得到所要求的每页既有标题行又有本页汇总的打印表格。
    本工作簿有与"工资条格式"有相同的特点,即1、不对清单表进行操作保持清单工作表的完整,2、全工作表只有一个公式通过填充得到全表十分方便。
    "分页打印"表用的公式为"=IF(MOD(ROW(),$F$1)=2,IF(COLUMN()<4,"",SUM(INDIRECT(ADDRESS(ROW()+1,COLUMN())):INDIRECT(ADDRESS(ROW()-2+$F$1,COLUMN())))),IF(MOD(ROW(),$F$1)=1,清单!A$1,INDEX(清单!$A:$G,ROW()-1-2*INT(ROW()/$F$1-0.1),COLUMN())))"
    与"分页打印"表比较不同的是,当MOD(ROW(),$F$1)=2时引入了求和函数"IF(COLUMN()<4,"",SUM(INDIRECT(ADDRESS(ROW()+1,COLUMN())):INDIRECT(ADDRESS(ROW()-2+$F$1,COLUMN()))))"即每页打印区域的第2行从第4列开始求和,INDIRECT(ADDRESS(ROW()+1,COLUMN()))和INDIRECT(ADDRESS(ROW()-2+$F$1,COLUMN()))分别为求和开始和结束单元格的值。ADDRESS()为地址函数,其格式为ADDRESS(row-num,col-num),其中row-num,col-num分别为行号和列号,如ADDRESS(2,3)即为C2,INDIRECT(ADDRESS(row-num,col-num))即行号、列号分别为row-num,col-num单元格的值。因此上述求和函数就是对本列放置结果的下一行即ROW()+1行到本页最后一行即ROW()-2+$F$1行求和。

     点击此处下载分页打印示范工作簿

最新评论

相关分类

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-15 18:29 , Processed in 0.078998 second(s), 16 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

返回顶部