原文 http://bbs.csdn.net/topics/90492492
例如:
工号 姓名 金额
001 张三 1000
002 李四 1500
工作表只这样做但是打印出来想得到:
工号 姓名 金额
001 张三 1000
工号 姓名 金额
002 李四 1500
=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列的结果了。
A与D 或者 B与E 或者 C与F相差3列.
注:公式中的COLUMN()-3在示例中表示相对位置偏右3列,随着工作表/相对位置的不同,需要更改相应的相对位置。
若有疑问,可以继续探讨。