什麼是“域”?所謂“域”其實是一種功能代碼。文檔中插入:頁碼、日期、超級鏈接、目錄、拼音……,就是插入了對應的:Page域、Date、Hyperlink域、Toc域、Eq域……。“域”可謂是勞苦功高而鮮為人知。
以下通過實例,為你展示這個世界級“勞模”的風采。
1.關於域的快捷鍵和預備知識
● 插入空域
Ctrl + F9。以該組合鍵插入空域,看起來象一對花括號——{ }。在其中輸入域名稱“Time”,例 1:{ Time },作用是顯示當前系統時間。
● 在域代碼和域結果之間切換
例 1 中並未如預期顯示貌似“2:51:47 PM”的域結果。且定位到該域前(或內部域代碼,以下操作都要先定位),按組合鍵“Shit + F9”,以切換顯示域結果和域代碼,得償所願。
● 更新域
“2:51:47 PM”並不總是因時而動,除非你手動更新它(按F9鍵),或直到其它導致域更新的事件(打印打開)發生。若需要同時更新文檔中所有域,先全選,後F9。
● 鎖定與解除鎖定
鎖定:Ctrl + F11;解除鎖定:Ctrl + Shift + F11 ;是一對互逆操作。
● 避免域被更新,使用鎖定域操作;欲使鎖定後的域能被更新,先解除鎖定;
例 1的域被鎖定後,更新無效,直到解除鎖定。
● 取消域的鏈接
Ctrl + Shift + F9。該操作將轉換域為常規文本,不可逆轉。粘貼自網頁的內容,要取消包含的大量超級鏈接,先全選後轉換。
並不是所有的域都支持轉換。
● 域開關及其指令
即域代碼中,控制最終顯示結果的代碼。域開關是以反斜線“”打頭的多個字符,空格分隔,開關指令緊隨。有通用開關和專有開關兩大類。
通用開關三種:格式開關(*)、數字圖片開關(#)、日期時間開關(@);
專用開關繁多,因域名稱不同而異,以反斜線加一個或多個字母為標志。
例 2 合同、票據中顯示人民幣大寫格式:
域代碼:{ = 123.45 * Chinesenum4 } 域結果:壹佰貳拾三元肆角伍分
“CHINESENUM4”為中文貨幣大寫格式指令。
例 3 外貿出口企業訂單工單用英文數字
域代碼:{ = 123.45 * CardText * Caps} 域結果:One Hundred Twenty-Three
“CardText”為數字英文序數指令,“Caps”指令每單詞首字母大寫,一域可有多指令。
例 4 會計統計千位分符數字:
域代碼:{ = 123.45*10^8 # "#,###" } 域結果:12,345,000,000
“#,###”中“#”為數字占位符“,”為千位分隔符。
例 5 靈活的日期時間開關指令:
域代碼:{ Time @ "H時mm分" } 域結果:14時51分
“H時mm分”中“H”為24小時制小時數(“h”為12小時制),“mm”為兩位數字表示的分鐘數。
例 6 簡單數學表達式,用公式域優於用公式編輯器:
域代碼:{ Eq f ( -b±r(b2-4ac) , 2a) } 域結果:
Eq 域專用開關及指令:“f(分子,分母)”表分式,“r(底)”表根式。
● 域的嵌套
域代碼內可以包含域。
例 7 等式域內套Time域:{ = if( { Time @ "H" }>12,"下午好!","上午好!") },未過12時顯示為:上午好!,否則顯示為:下午好!
通過表格菜單-公式,對話框的“粘貼函數”所羅列函數,“if()”在其中,語法為:if(判定,真,假),當“判定”成立,取“真”代表的結果,否則“假”。
2.插入有特殊要求的頁碼
例 8 如上圖,一紙橫向分4欄,各欄頁碼依次是:
{ ={ Page * arabic }*4-3 } { ={ Page * arabic }*4-2 } { ={ Page * arabic }*4-1 } { ={ Page * arabic }*4-0 }
“* arabic”為通用格式阿拉伯數字指令。
3.簡單計算
參與運算的皆為半角符號。
例 9 域代碼:{ =(1+2-3)*4/5^6 } 域結果: 0
例 10 引用已經存在的數學表達式“3.14 * 3^2 ”並求值。
先選中引號內表達式,並添加名為“CircleS”的書簽,後在等式域中引用該書簽:
域代碼:{ ={ ref CircleS } # "園面積=#.00 (平方米)"} 域結果:園面積=28.26 (平方米)
優點是,原表達式部分改變後,求解只需更新域。
4.表內統計
表內外數據相互引用,請參考例10。
同一個表,數據引用相對簡單。其方式同ET電子表格,即先以字母表示列序,繼之以數字指明行號。見下表末列。
表格 1 單元格引用
Sum()為求和,內部參數為一個或以逗號分隔的多個,參數類型為常量、可計算的表達式、引用
5.仿隨機數發生器與口算題
例 11 仿隨機數發生器(值域0-99):
域代碼:{=mod({Time @ "s"}*{Seq kgs},100) # "#"}
Seq域插入自動序列號,用“c”開關控制插入前邊最近一個值{Seq kgs c},mod()求余函數。
用該代碼生成口算題的數字:43+86; 18-20; 40×54; 33÷68...
注意:1)為使這些操作數看起來更像隨機生成的,切忌同時更新多個域;2)為確保相減不為負值、相除值為整數,加"c"開關控制,並同時更新兩個域。示意如下:
{=mod(...)*mod(...{Seq kgs}...)...} ÷ {=mod(...{Seq kgs c}...)...}=
為作業提供參考答案用:{=a1+c1}(運算數和運算符分別置於表元中)
判定學生錄入是否正確用:{=if({=a1+c1}=d1,"√","×")}
6.提取身份證號碼中的生日
假定某表b1單元中接受填入18位身份證號碼:12345619870123956x ,在目標單元輸入以下代碼,可提取生日:
域代碼:{ =if(b1>10^17,int(b1/10^4),int(b1/10^3)) # "x000年00月00" }
域結果:1987年01月23
“x”指令放棄占位符左邊數字,“0”為數字占位符,int()為取整函數。
7.“過期”判定
例 12 判定系統日期是否超過設定(此例中為2012/12/31)
域代碼:{=if(20121231>{Date @ "YYYYMMDD"},"把生命中的每一天當作最後一天過。","過期")}
8.自創字符
例 13 “問題”“提問”符號。
域代碼:{ Eq o (t,門) } 域結果:
“o”指令後續符號疊加到前一符號上。
例 14 用“█”做遮罩,用空格占位。
域代碼:{eq o (輝, █, 月)} 域結果:
下劃線位置為白色(背景色)“█”符號,小五號字;其余為五號字;“█”“月”前有空格調整占位。
例 15 武則天所造的“地”字
域代碼:{eq o a(sup4(山),水,sdo4(土))} 域結果:
"s"上標下標開關,"up4"向上偏移4磅,"do4"向下偏移4磅。“山水土”7號字,縮放200%
例 16 配合字體提升縮放。
域代碼:{ Eq o ( 辶,隹 ,寶, 招) }
域結果:
為避讓,使用若干五號空格占位,計:“辶”前3個,“隹”後2個, “招”前2個;
字體設置參考:“辶”華文新魏,三號,縮放190%;“隹招”華文新魏,五號,加粗,縮放66%,提升1.06毫米;“寶”方正舒體,二號,縮放66%,提升1.06毫米;
段落文本基線對齊。
9.方程組
例 17 前導及域代碼:{{Eq aal(2x2+y=5,3x-y=0)}結果:{
“a( , )”列二維矩陣開關,“al”左對齊修正開關。
10. 用Ref域克隆標簽
一張紙,打印裁切多行多列的小標簽,推薦使用“Ref”域來克隆出多個副本。
參考做法:用表格分割為多個標簽區域,設計出第一個標簽,選中所在單元格,並定義為書簽“bk”,在其它單元格插入{ Ref bk}域。
若要求每個標簽有不同的序號(電影票車票等),在打印序號位置插入文本框,並設置項目編號(表格 2)