制作工資條、成績單是周期性的重復(fù)勞動(dòng),單調(diào)乏味。對此,本文活用WPS表格的智能填充加巧妙算法,教你只用一次粘貼、一個(gè)公式、一次拖曳,搞定如圖 1樣式的條式單據(jù)。
圖 1 完成圖
言歸正傳,先操作,后解說。
1. 設(shè)定:
A表=原始工資表(見圖 2)
B表=生成工資條的空白表
圖 2 原始工資表
2. 操作步驟:
2.1. 粘貼A表表頭到B表A1單元;
2.2. 選擇與B表表頭同寬度的下一行區(qū)域,鍵入以下公式后,按Ctrl+Enter填充所選區(qū)域① 并順便設(shè)置框線。見圖 3;
=Indirect("A表!"&Address((Row()+1)/3+1,Column())) ②
注意:若表頭占兩行,改公式中“3+1” 為“4+2”;若表頭占三行,為“5+3“,依此類推③。
圖 3 復(fù)制表頭及錄入公式
2.3. 選中B表表頭,向下拉至數(shù)據(jù)所能呈現(xiàn)的行數(shù),如公式計(jì)算所得,拉到行6。④(與表頭同寬度),移動(dòng)指針到所選區(qū)域右下角填充柄上(指針呈“十”),拖拽填充柄向下(見圖 4),直到能呈現(xiàn)所有數(shù)據(jù)。截止行號=(表頭占用行數(shù)+1)×記錄條數(shù)。
圖 4 分組填充
3. 技巧與算法:
① 組合鍵Ctrl+Enter—— 能在相鄰或不相鄰的多個(gè)選定區(qū)域填充數(shù)據(jù);
?、?公式涉及4個(gè)函數(shù),此例中:
Indirect(單元格引用文本)函數(shù)—— 得到以文本表示的目標(biāo)單元格值。可能的文本形如:"A表!$A$3"、"A表!$B$3"等;
Address(行號,列號)函數(shù)——得到數(shù)值代表的行列交叉單元的地址文本。結(jié)果貌似:"$A$3","B3";
Row( )函數(shù)——返回該單元的行號;
Column( )函數(shù)——返回該單元的列號;
?、? 算法思路:目的是將A表記錄行{2,3,4,5,...}映射到B表記錄行{2,5,8,11,....}。后者關(guān)聯(lián)到索引(i)和表頭行數(shù)(n),可表述為:B表第i行記錄 = (i+n+1)/(n+2)+n,而Row( ) 等效于i+n。
?、?預(yù)留裁切區(qū)域,其空白行數(shù),決定公式"(Row()+x)/y+1" 中x,y的取值;
若仍嫌繁復(fù),可以到金山官方論壇(鏈接見下方),使用AutoIt工具集插件中的“生成工資條成績條
”解決方案,僅需一次單擊,完成所有任務(wù)(建表、記錄填充、設(shè)置框線、智能分頁、打印)