本文介紹如何利用Excel函數實現分欄打印,這個技巧適合打印列數比較少的Excel表格,避免出現大量空白。
平時偶爾需要打印一些列數特少的表格,例:單科成績表、調資清單、施工員年檢名單、產品代碼表等等。以施工員年檢名單來說就只有序號、姓名和證號3列。直接打印時由於3列表格遠小於紙張寬度會出現大量空白,不僅難看也很浪費紙張。因此很有必要把表格分欄排滿頁面再打印,不過Excel並沒有分欄功能,要如何實現分欄打印呢?其實在Excel 2007中用函數就可以輕松實現表格的分欄打印。
1.格式設置
用Excel 2007打開需要分欄的“年檢名單”工作表(圖1)。按住Ctrl鍵拖動“年檢名單”工作表標簽復制出一張“年檢名單(2)”工作表,並把它重命名為“分 欄”。在“分欄”工作表中按Ctrl+A鍵全選並按Delete鍵刪除數據,以得到一張邊框、行高、列寬、字體均與原表相同的空表。
按所需分欄間距調整第4列寬度,然後選中A1:D1復制,再選中第1行右擊選擇 “選擇性粘貼”,在“選擇性粘貼”窗口中選中“列寬”,確定把表格A1:D1的列寬設置復制到所有列。
2.輸入公式
在A1輸入公式=IF(A2=“”,“”,年檢名單!$A1),在A2非空時顯示“年檢名單”工作表的標題A1否則為空,在B2、C3也輸入同樣公式,不過要把公式中的$A$1分別改成$B$1、$C$1以引用相應標題。
在A2輸入公式=IF(INDIRECT(“年檢名單!A”& ROW()+INT(COLUMN()/4)*COUNT($D:$D))=“”,“”,INDIRECT(“年檢名單!A”& ROW()+INT(COLUMN()/4)*COUNT($D:$D))),在B2、C2也輸入同樣的公式並把公式中的A全改成B、C以引用相應列的內 容。
在D2輸入1作為計算行數的依據,並設置字體顏色為白色以讓1消失。選中A2:D2向下拖動填充柄復制到C20單元格,即可顯示首欄的19行數據。最後選中A1:D20復制,再選中1:20行進行粘貼即可生成所有分欄表格(圖2)。
公式中ROW()+INT(COLUMN()/4)*COUNT($D:$D)計算出當前單元格數據在原表中的行號。由INDIRECT函數按 行、列號引用單元格,再用IF判斷當引用的單元格為空時顯示為空。COUNT($D:$D)自動統計每頁行數,/4為原表格的列數3+1列分隔用的空列。
3.隱藏空表
上面的引用公式讓超出原表總記錄數的分欄表格不顯示數據,但表格線還是在的,還得設置條件格式讓空表格自動隱藏。選中1:20行,單擊“開始”選項卡的“條件格式”選擇“突出顯示單元格規則/其他規則”。
在“新建格式規則”窗口的“單元格值”下拉列表中選擇“空值”,單擊“格式”按鈕,在“設置單元格格式”窗口的“邊框”選項卡下單擊“無”設置為無邊框,確定後沒有數據的區域就不會顯示邊框了(圖3)。
4.最後調整
切換到“視圖”選項卡單擊“頁面布局”即可看到每頁的分欄情況。直接拖動水平標尺中的左、右邊距,讓第1頁中打印的最後一列正好是用於分欄的空列(圖4),這樣才能確保各頁的分欄數一致。
若想調整分欄間距,直接調整第4列寬度,再復制A1:D1按寬度“選擇性粘貼”到第1行即可,當然也得重新再調整左、右邊距以確保分欄數一致。若想在每頁表格上添加一個總標題的話,現在你可以單擊頁面上側的頁眉區,直接在頁眉中添加標題。
現在看一下每頁打印的行數是否適當,從圖中可以看出其實還可以再增加兩行。我們直接在2:20行間隨便選中兩行(17:18行),右擊選擇復 制,再右擊選擇“插入復制的單元格”,即可增加2行表格。反過來,如果行數過多超出頁面,則只要直接在2:20行中任選幾行右擊選擇“刪除”即可減少行 數。
現在可以開始打印了。雖然空分欄表不會顯示,但由於有公式在還是會打印出空白頁。因此打印時得選中全部有數 據的列,單擊“Office”按鈕選擇“打印”,在打印窗口選中“選定區域”再打印才不會打印空白頁。或者直接指定打印頁碼范圍也行。以後在年檢名單工作 表中填寫修改數據後,打開“分欄”工作表即可直接進行分欄打印,無需再做修改。
將文檔保存成模板還可用於對其他表格進行分欄打印。你只要把表格連標題帶數據一起復制粘貼到年檢名單工作表 的A1單元格,即可分欄打印。也不一定要3列,少於3列的表格略做調整同樣可以分欄。以2列表格來說,只要在“分欄”工作表中右擊第3列列標選擇“隱 藏”,再復制A1:D1,按寬度“選擇性粘貼”到第1行,然後適當調整左、右邊距即可實現2列表格的分欄。
當然超過3列的表格就得修改公式中的列數了,因此想做成模板最好一開始就按最多列的表格設置,再按需隱藏多余列會比較方便。此外,若粘貼的表格 有兩行標題,只要在分欄工作表中選中第1行復制,再“插入復制的單元格”增加標題行。然後在A1:C2標題行中按原表合並、設置格式後選中A1:D2復制 粘貼到1:2行即可。