原贴:http://community.csdn.net/Expert/topic/5000/5000593.xml
Q:taoyb (tyb)
有一个工资数据表打印,就用a4纸,但每一行数据都要加上 标头,比如 员工编号,姓名,工资等
这些信息都在第一行有,怎么才能把第一行的信息打在每一行上呢?
A:Yiqun_Zhao(蓝帆·雨轩 yiqun.zhao.msmvp@gmail.com)
假设原本工资的标题行在第一行,从第二行开始为数据,如下示例:
A B C
1 工号 出勤 工资
2 1 21 8430
3 2 21 4690
4 3 20 7545
5 4 21 6680
6 5 21 2190
假设我们的公式从D1开始(E1、F1的公式一样,可从D1复制),公式如下:
=INDIRECT(IF(MOD(ROW(),2)=1,ADDRESS(MOD(ROW(),2),COLUMN()-3),ADDRESS(ROW()/2+1,COLUMN()-3)))
您可以将该公式复制到D、E、F列的相应区域,结果如下:
A B C D E F
1 工号 出勤 工资 工号 出勤 工资
2 1 21 8430 1 21 8430
3 2 21 4690 工号 出勤 工资
4 3 20 7545 2 21 4690
5 4 21 6680 工号 出勤 工资
6 5 21 2190 3 20 7545
工号 出勤 工资
4 21 6680
工号 出勤 工资
5 21 2190
您可以看到依据A、B、C列的源数据,已经生成了D、E、F列的结果了。
注:公式中的COLUMN()-3在示例中表示相对位置偏右3列,随着工作表/相对位置的不同,需要更改相应的相对位置。