excel中怎么在表格的每一行前面插入相同的两行有合并项Word文档下载推荐.docx
《excel中怎么在表格的每一行前面插入相同的两行有合并项Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《excel中怎么在表格的每一行前面插入相同的两行有合并项Word文档下载推荐.docx(10页珍藏版)》请在冰豆网上搜索。
273506g20xx0922F224
273506g20xx0922F225
273506g20xx0922F226
273506g20xx0922F227
273506g20xx0922F228
1、在前面插入一列
1
4
273506g20xx0922F219编号:
273506g20xx0922F220编号:
273506g20xx0922F221编号:
273506g20xx0922F222编号:
273506g20xx0922F223编号:
273506g20xx0922F224编号:
273506g20xx0922F225编号:
273506g20xx0922F226编号:
273506g20xx0922F227编号:
2、第一列输入1、4,如上图。
选择1、4所在两个单元格,往下拖动,出现下图
7
10
13
16
19
22
25
28编号:
3、再在第一列下面输入2、5,选择2、5所在单元格,往下拖动,拖动到和编号所在单元同样行数的地方,出现下图
16编号:
28
2
5
8
11
14
17
20
23
26
29编号:
4、再在第一列下面输入3、6,选择3、6所在单元格,往下拖动,拖动到和编号所在单元同样行数的地方,出现下图
29
3
6
9
12
15
18
21
24
27
30编号:
5、然后全选这一区域,点击升序排列,删除第一列即可
篇二:
excel中每一行添加出现表头
excel中每一行添加出现表头
一共有以下三个解决方案
1.写一个宏根据源数据生成“工资单”工作表
2.用一个比较复杂的公式来生成
3.使用word配合,用“邮件合并”功能实现
第三种方法比较简单,而且可以很好的控制格式,推荐使用,在这里先解释,建议先看看word中关于邮件合并的帮助
引用
第一步:
建立数据库
新建一个excel电子表格,将每个职工的工资结构输入表格(注意不能保留标题行,但是不要省略表格中的表头,以免邮件合并时找不到合并域名。
在使用excel工作簿时,必须保证数据文件是数据库格式,即第一行必须是字段名,数据行中间不能有空行等。
这样可以使不同的数据共享,避免重复劳动,提高办公效率。
),保存名为“x月工资.xls”后即可关闭以备后用。
第二步:
建立工资单表格
新建一个word文档(可以将页面设置成横向),将新建电子表格的表头复制过来成为1行数列的无数据表格,在表格最后的表格内按“tab”键插入1行(然后在表格下方按回车键一次或两次,方便打印后裁剪)。
保存为“x月工资.doc”。
第三步:
邮件合并
1.在刚建立的“x月工资.doc”文档中,选择菜单栏的“工具/信函和邮件/显示邮件合并工具栏”,则出现“邮件合并工具栏”。
(再选择“工具/自定义/命令/(在类别中选择)邮件合并/(在命令中选择)/插入合并域”将“插入合并域”拖入“邮件合并工具栏”。
)
2.在“邮件合并工具栏”中点击“打开数据源”按钮,选择“+连接到新数据源.odc”,在出现打开文件对话框中找到并打开刚保存的excel电子表格“x月工资.xls”,点击“打开”会弹出的对话框中点击所需数据源,这时你会发现在工具栏中“插入合并域”处于激活状态。
3.把光标置于要插入相应项目的位置,点击“插入合并域”下拉菜单(下拉菜单中的相应选项与“x月工资.xls”表格中的标题行是一一对应的),然后单击下拉菜单中的相应选项,直至操作完毕。
4.在“邮件合并工具栏”中有“设置文档类型”,选择“目录”类型,(不要选“普通word文档”)点击确定。
最后点击“合并到新文档”按钮,你会收到意想不到的效果——每位员工的工资记录都成了一个新文档,试试吧!
下面介绍公式法:
先观察思考原数据分布
第1行是标题
第2,3,4,5,..行是数据
观察思考目标数据分布
第1,4,7,10,行是标题
第2,5,8,11,行是数据
第3,6,9,12,行是空行
即,当前行号除以3的余数为1的时候,是标题
当前行号除以3的余数为2的时候,是数据
其它(只剩除以3余数为0的情况了)是空行
标题行数据直接引用数据表的a$1,因为每次行号是固定的,所以用绝对引用
数据行数据需要进行偏移
2,5,8,11,除以3,取整,
结果分别是0,1,2,3,
对应数据表2,3,4,5,
我们用相对于数据表第1行的偏移,那就应该分别是1,2,3,4
也就是说,相对于数据表第1行的偏移量是int(Row()/3)+1
引用就是oFFset(a$1,int(Row()/3)+1,0)
注意,列偏移为0,即列不偏移
这样,把上述各部分组合起来,得到工资表a1的公式
=iF(mod(Row(),3),oFFset(sheet2!
$a$1,(mod(Row()-1,3)>
0)*Round(Row()/3,),column(sheet2!
a2)-1),"
"
为了大家看清楚,我分成多行来写
=iF(
mod(Row(),3),
oFFset(sheet2!
$a$1,
(mod(Row()-1,3)>
0)*Round(Row()/3,),
column(sheet2!
a2)-1),
"
)
然后把a1的公式向右复制给b1-e1,生成第一行数据
再把第一行从a1-e1的公式向下复制到人数×
3行,即得到工资表
最后介绍用宏的方法实现:
下面是全部代码:
sub加插表头()
dimiasinteger
dimendrowasinteger
dimhrstarasinteger
dimhrendasinteger
endrow=Range("
a65536"
).end(xlup).Row
hrstar=inputbox("
请输入表头开始行"
hrend=inputbox("
请输入表头结束行"
i=hrend+2
do
ifi>
endrowthenexitdo
Rows(hrstar&
:
&
hrend).select
selection.copy
Rows(i&
i).select
selection.insertshift:
=xldown
i=i+hrend-hrstar+2
endrow=endrow+hrend-hrstar+1
loop
endsub
篇三:
如何让excel表格中的两列数据相同的排列在一行
如何让excel表格中的两列数据相同的排列在一行
例如:
姓名分数姓名分数
张三10王五20
李四11周六18
郑七20张三19
王五12
周六13李四17
如何变成分数和姓名还是要对应在一起的
张三10张三19
李四11李四17
郑七20
王五12王五20
周六13周六18
越详细越好,谢谢了!
提问者:
wulinglun-助理二级
最佳答案
e2输入公式=iF(countiF($c:
$c,$a2)=0,"
index($c:
$d,match($a2,$c:
$c,),co