辦公軟件使用心得系列 之 Excel 2003

来源:互联网 发布:在hbuilder运行js脚本 编辑:程序博客网 时间:2024/06/05 19:15
 為了公司上ERP的需要,需要從原有的由本人開發的進銷存系統中導出物料及物料類別數據,為了方便測倉、盤底,特用Excel實現之。
(1)如果表格最上面那行已經應用了“自動篩選”,那么即使該行的單元格屬性均無“鎖定”,但是只要處于保護工作表狀態,該行也照樣地不能再篩選。即篩選下拉框變灰無效。
(2)先自動篩選,再在最上面加行,自動篩選不會“看到”最上面新添行的內容。
(3)在自動篩選中如何知道每個分類的最上面一行記錄的關鍵內容呢?思路如下:先建立一個與行號一摸一樣的輔助列,假設為A。然后測出該列在自動篩選后,那條最小的記錄序列號:SUBTOTAL(5,A7:A20000);因為得出的是數字,還需要將其字符化,所以還要Text(SUBTOTAL(5,A7:A20000),"#####")。由于已知B列是類別代號列,那么就用"B"加上剛才的字符串,Concatenate("B",Text(SUBTOTAL(5,A7:A20000),"#####"))。到此可以得到一個類似于“B56”的單元格地址,現在問題就變成了如何將此字符串取其值,相當于C語言中的指針、或是VFP中的Eval函數。好在EXCEL提供了同等功能的函數:Indirect,把這個函數把上述的內容全部包裹,結果就得出了最終的結論。
(5)在篩選的“進階篩選”中有一個選項“不選重復的記錄”。熟悉SQL語法的人一看就知道,這是Group By子句,或是Distinct關鍵字的UI實現。所以一方面感嘆其強大,一方面佩服其易用。
(6)由于原始內容是從SQL中導入而來,有的字段雖然nVarChar特別長,實際文字其實才寥寥數字而已。在將列縮短至適合寬度后,怎么用邊框設置,就是不出現右邊豎線。此時拿出在VFP、SQL、Excel都有的Trim函數,在其他列中先把該列截斷前后空格。然后拷貝此輔助列,到剛才超長的列中用“選擇性黏貼--只選擇值”的辦法,將內容拷貝回超長列,然后刪除輔助列。OK,成功!
原创粉丝点击