论文部分内容阅读
摄影大赛的比赛结果存放在一个Excel工作表中,有名次和姓名两列,现在需要将获奖名单中的前50名获奖者写入单位的通报中。通报是用Word编写的,如何才能将这些数据以多列格式编排到Word文档中?若将一列数据直接复制到Word文档中,然后再进行编排比较费事。如果能在Excel中将一列转换成多列,再复制粘贴到Word文档中,就会简单许多。
1. 公式法
在原有数据工作表的D 2单元格中输入公式“=OFFSET($B$1,(ROW(A1)-1)*8+COLUMN(A1),)&""”,向右、向下拖动填充,这样就将单列名单数据转换成8列数据(图1)。
上述公式的意思是以B 1单元格为基点,行偏移量为( R O W ( A 1 ) -1)*8+COLUMN(A1),这样公式每向右复制一列,偏移量增加1,公式每向下复制一行,偏移量增加8。在公式最后加上&"",为的是屏蔽掉B列为空时出现的0值。而函数ROW()获取的是当前行号,COLUMN()获取的是当前列号。
当然,也可以将公式替换为“=INDEX($B:$B,(ROW(B1)-1)*8+COLUMN(B1))”。INDEX函数在B列根据R O W ( B1) -1)*8+COLUMN(B1)的值返回单元格的值。
上面的公式数据源是B列数据,从B1开始,ROW(B1)-1= 0,CO LU M N (B1)=2,第一个单元格的值就会取自B2;右拉,就变成( R O W ( C 1 ) -1)*8+COLUMN(C1) =3,第二单元格的值就会取自B3;再右拉,变成(ROW (D1)-1)*8+ COLUMN(D1)=4,第三单元格的值就会取自B4,依此类推。再下拉一排,上面函数的值应该是(ROW (B2)-1)*8+ COLUMN(B2) =10,所以第二行第一个单元格的值就会取自B10,依此类推(图2)。
2. 替代法
在D2单元格输入“B2&""”,向右拖动填充到K2;在D3单元格输入“B10&""”,向右拖动填充到K3;同时选中D2:K3,向下拖动填充到第8行;删除多余的单元格内容,即50名以后的单元格。
接下来,调出替换对话框,查找内容输入“B”,替換为输入“=B”,点击全部替换就可以了(图3)。
1. 公式法
在原有数据工作表的D 2单元格中输入公式“=OFFSET($B$1,(ROW(A1)-1)*8+COLUMN(A1),)&""”,向右、向下拖动填充,这样就将单列名单数据转换成8列数据(图1)。
上述公式的意思是以B 1单元格为基点,行偏移量为( R O W ( A 1 ) -1)*8+COLUMN(A1),这样公式每向右复制一列,偏移量增加1,公式每向下复制一行,偏移量增加8。在公式最后加上&"",为的是屏蔽掉B列为空时出现的0值。而函数ROW()获取的是当前行号,COLUMN()获取的是当前列号。
当然,也可以将公式替换为“=INDEX($B:$B,(ROW(B1)-1)*8+COLUMN(B1))”。INDEX函数在B列根据R O W ( B1) -1)*8+COLUMN(B1)的值返回单元格的值。
上面的公式数据源是B列数据,从B1开始,ROW(B1)-1= 0,CO LU M N (B1)=2,第一个单元格的值就会取自B2;右拉,就变成( R O W ( C 1 ) -1)*8+COLUMN(C1) =3,第二单元格的值就会取自B3;再右拉,变成(ROW (D1)-1)*8+ COLUMN(D1)=4,第三单元格的值就会取自B4,依此类推。再下拉一排,上面函数的值应该是(ROW (B2)-1)*8+ COLUMN(B2) =10,所以第二行第一个单元格的值就会取自B10,依此类推(图2)。
2. 替代法
在D2单元格输入“B2&""”,向右拖动填充到K2;在D3单元格输入“B10&""”,向右拖动填充到K3;同时选中D2:K3,向下拖动填充到第8行;删除多余的单元格内容,即50名以后的单元格。
接下来,调出替换对话框,查找内容输入“B”,替換为输入“=B”,点击全部替换就可以了(图3)。