馬震安
攝影大賽的比賽結(jié)果存放在一個Excel工作表中,有名次和姓名兩列,現(xiàn)在需要將獲獎名單中的前50名獲獎者寫入單位的通報中。通報是用Word編寫的,如何才能將這些數(shù)據(jù)以多列格式編排到Word文檔中?若將一列數(shù)據(jù)直接復制到Word文檔中,然后再進行編排比較費事。如果能在Excel中將一列轉(zhuǎn)換成多列,再復制粘貼到Word文檔中,就會簡單許多。
1. 公式法
在原有數(shù)據(jù)工作表的D 2單元格中輸入公式“=OFFSET($B$1,(ROW(A1)-1)*8+COLUMN(A1),)&""”,向右、向下拖動填充,這樣就將單列名單數(shù)據(jù)轉(zhuǎn)換成8列數(shù)據(jù)(圖1)。
上述公式的意思是以B 1單元格為基點,行偏移量為( R O W ( A 1 ) -1)*8+COLUMN(A1),這樣公式每向右復制一列,偏移量增加1,公式每向下復制一行,偏移量增加8。在公式最后加上&"",為的是屏蔽掉B列為空時出現(xiàn)的0值。而函數(shù)ROW()獲取的是當前行號,COLUMN()獲取的是當前列號。
當然,也可以將公式替換為“=INDEX($B:$B,(ROW(B1)-1)*8+COLUMN(B1))”。INDEX函數(shù)在B列根據(jù)R O W ( B1) -1)*8+COLUMN(B1)的值返回單元格的值。
上面的公式數(shù)據(jù)源是B列數(shù)據(jù),從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,依此類推。再下拉一排,上面函數(shù)的值應該是(ROW (B2)-1)*8+ COLUMN(B2) =10,所以第二行第一個單元格的值就會取自B10,依此類推(圖2)。
2. 替代法
在D2單元格輸入“B2&""”,向右拖動填充到K2;在D3單元格輸入“B10&""”,向右拖動填充到K3;同時選中D2:K3,向下拖動填充到第8行;刪除多余的單元格內(nèi)容,即50名以后的單元格。
接下來,調(diào)出替換對話框,查找內(nèi)容輸入“B”,替換為輸入“=B”,點擊全部替換就可以了(圖3)。endprint