UReport2教學(xué)視頻http://pan.baidu.com/s/1boWTxF5,密碼:98hj
在前一小節(jié)中,我們介紹了表達(dá)式,實(shí)際上函數(shù)也是表達(dá)式的一種。在UReport2當(dāng)中提供了大量的內(nèi)置函數(shù),通過這些內(nèi)置函數(shù),可以實(shí)現(xiàn)各種各樣的報(bào)表計(jì)算功能。函數(shù)語法格式如下:
函數(shù)名([表達(dá)式,表達(dá)式...])
下面我們就來逐個(gè)介紹UReport2內(nèi)置的函數(shù)。
count函數(shù)是對(duì)給定的表達(dá)式在計(jì)算后對(duì)象數(shù)量進(jìn)行統(tǒng)計(jì)。
示例
|
說明
|
---|---|
count(C1,C2) | 統(tǒng)計(jì)相對(duì)當(dāng)前所在單元格,目標(biāo)C1單元格以及C2單元格加在一起的數(shù)量 |
count(C1) | 統(tǒng)計(jì)相對(duì)當(dāng)前所在單元格,目標(biāo)C1單元格數(shù)量 |
count(C1{age>20},C2{salary>2000 and degree=='本科'}) | 統(tǒng)計(jì)相對(duì)當(dāng)前所在單元格,目標(biāo)C1單元格綁定對(duì)象的age屬性大于20的C1單元格以及C2單元格綁定對(duì)象的salary屬性大于2000同時(shí)degree屬性等于本科的單元格數(shù)量 |
count(C1{age>20}) | 統(tǒng)計(jì)相對(duì)當(dāng)前所在單元格,目標(biāo)C1單元格綁定對(duì)象的age屬性大于20的C1單元格數(shù)量 |
sum函數(shù)是對(duì)給定的表達(dá)式在計(jì)算后值進(jìn)行累加,sum函數(shù)要求各個(gè)表達(dá)式計(jì)算后的值必須是數(shù)字,否則將產(chǎn)生錯(cuò)誤。
示例
|
說明
|
---|---|
sum(C1) | 相對(duì)當(dāng)前單元格,取到所有C1單元格值進(jìn)行累加 |
sum(C1{age>20}) | 相對(duì)當(dāng)前單元格,取到所有綁定對(duì)象屬性age大于20的C1單元格值進(jìn)行累加 |
sum(C1,C2) | 相對(duì)當(dāng)前單元格,取到所有C1和C2單元格的值進(jìn)行累加 |
sum(C1{age>20},C2{salary>2000 and degree=='本科'}) | 相對(duì)當(dāng)前單元格,取到所有綁定對(duì)象屬性age大于20的C1單元格值以及綁定對(duì)象屬性salary大于2000且degree屬性等于本科的C2單元格的值進(jìn)行累加 |
avg函數(shù)是對(duì)給定的表達(dá)式在計(jì)算后值求平均值,avg函數(shù)要求各個(gè)表達(dá)式計(jì)算后的值必須是數(shù)字,否則將產(chǎn)生錯(cuò)誤。
示例
|
說明
|
---|---|
avg(C1) | 相對(duì)當(dāng)前單元格,求C1單元格的平均值 |
avg(C1{age>20}) | 相對(duì)當(dāng)前單元格,取到綁定對(duì)象屬性age大于20的C1單元格值的平均值 |
avg(C1,C2) | 相對(duì)當(dāng)前單元格,求C1和C2單元格的平均值 |
avg(C1{age>20},C2{salary>2000 and degree=='本科'}) | 相對(duì)當(dāng)前單元格,取到所有綁定對(duì)象屬性age大于20的C1單元格值以及綁定對(duì)象屬性salary大于2000且degree屬性等于本科的C2單元格的值進(jìn)行求平均值 |
max函數(shù)是對(duì)給定的表達(dá)式在計(jì)算后值求其中的最大值,max函數(shù)要求各個(gè)表達(dá)式計(jì)算后的值必須是數(shù)字,否則將產(chǎn)生錯(cuò)誤。
示例
|
說明
|
---|---|
max(C1) | 相對(duì)當(dāng)前單元格,求C1單元格的最大值 |
max(C1{age>20}) | 相對(duì)當(dāng)前單元格,取到綁定對(duì)象屬性age大于20的C1單元格值的最大值 |
max(C1,C2) | 相對(duì)當(dāng)前單元格,求C1和C2單元格的最大值 |
max(C1{age>20},C2{salary>2000 and degree=='本科'}) | 相對(duì)當(dāng)前單元格,取到所有綁定對(duì)象屬性age大于20的C1單元格值以及綁定對(duì)象屬性salary大于2000且degree屬性等于本科的C2單元格的值進(jìn)行求最大值 |
min函數(shù)是對(duì)給定的表達(dá)式在計(jì)算后值求其中的最小值,min函數(shù)要求各個(gè)表達(dá)式計(jì)算后的值必須是數(shù)字,否則將產(chǎn)生錯(cuò)誤。
示例
|
說明
|
---|---|
min(C1) | 相對(duì)當(dāng)前單元格,求C1單元格的最小值 |
min(C1{age>20}) | 相對(duì)當(dāng)前單元格,取到綁定對(duì)象屬性age大于20的C1單元格值的最小值 |
min(C1,C2) | 相對(duì)當(dāng)前單元格,求C1和C2單元格的最小值 |
min(C1{age>20},C2{salary>2000 and degree=='本科'}) | 相對(duì)當(dāng)前單元格,取到所有綁定對(duì)象屬性age大于20的C1單元格值以及綁定對(duì)象屬性salary大于2000且degree屬性等于本科的C2單元格的值進(jìn)行求最小值 |
取當(dāng)前單元格所在行的行號(hào),這個(gè)函數(shù)比較簡單,它沒有參數(shù)。
示例
|
說明
|
---|---|
row() | 取當(dāng)前單元格所在行的行號(hào) |
取當(dāng)前單元格所在列的列號(hào),這個(gè)函數(shù)比較簡單,它沒有參數(shù)。
示例
|
說明
|
---|---|
column() | 取當(dāng)前單元格所在列的列號(hào) |
order函數(shù)需要兩個(gè)參數(shù),第一個(gè)為要進(jìn)行排序的對(duì)象表達(dá)式,第二個(gè)是一個(gè)布爾值,用來設(shè)置排序方式,true正序,false為倒序。
示例
|
說明
|
---|---|
order(C1,false) | 相對(duì)當(dāng)前單元格,取到所有C1單元格值,對(duì)這些值進(jìn)行倒排序,返回排序好的結(jié)果集合 |
order(C1{age>18},true) | 相對(duì)當(dāng)前單元格,取到與C1單元格綁定的對(duì)象屬性age值大于18的所有C1單元格值,對(duì)這些值進(jìn)行正排序,返回排序好的結(jié)果集合 |
取到表達(dá)式中定義所有數(shù)據(jù),并以集合形式返回。
示例
|
說明
|
---|---|
list(C1) | 相對(duì)當(dāng)前單元格,取到所有C1單元格值以集合形式返回 |
list(C1,C2{age>20}) | 相對(duì)當(dāng)前單元格,取到所有C1單元格值及C2單元格中age屬性大于20的所有C2單元格值以集合形式返回 |
param函數(shù)用來獲取外部傳入的參數(shù),它需要一個(gè)參數(shù),用于指定要獲取的參數(shù)名稱。
示例
|
說明
|
---|---|
param("deptId") | 獲取外部傳入的名為deptId的參數(shù)值 |
param(C1) | 相對(duì)于當(dāng)前單元格,取到C1單元格的值,如果有多個(gè)C1單元格則么第一個(gè),然后以這個(gè)C1單元格值作為參數(shù)名稱,獲取外部對(duì)應(yīng)的參數(shù)值。 |
emptyparam函數(shù)用于判斷指定的外部參數(shù)是否為null或空字符串,如果是返回true,否則返回false,該函數(shù)為2.2.3版本新增,如果要使用該函數(shù),請注意您當(dāng)前使用的ureport版本。
emptyparam函數(shù)一般用于SQL數(shù)據(jù)集SQL表達(dá)式里,比如下面的寫法:
|
上述的SQL判斷采用的是param函數(shù),由于要同時(shí)判斷為null以及"",寫起來比較麻煩,如改用emptyparam函數(shù)就簡單多了。
|
對(duì)給定的日期參數(shù)進(jìn)行格式化,它至少需要一個(gè)參數(shù),第一個(gè)參數(shù)是要格式化的日期類型的對(duì)象,第二個(gè)參數(shù)是可選的,用于定義格式化采用的模式,如不指定則用默認(rèn)的:yyyy-MM-dd HH:mm:ss來進(jìn)行格式化。
示例
|
說明
|
---|---|
formatdate(C1) | 取到C1單元格值,這個(gè)值必須是日期類型,然后按yyyy-MM-dd HH:mm:ss來進(jìn)行格式化成字符串輸出 |
formatdate(C1,"yyyyMMdd") | 取到C1單元格值,這個(gè)值必須是日期類型,然后按yyyyMMdd來進(jìn)行格式化成字符串輸出 |
對(duì)給定的參數(shù)進(jìn)行格式化,它至少需要一個(gè)參數(shù),第一個(gè)參數(shù)是要格式化的數(shù)字對(duì)象,要保證這個(gè)參數(shù)值取到后可以轉(zhuǎn)換成日期,否則將發(fā)生錯(cuò)誤;第二個(gè)參數(shù)是可選的,用于定義數(shù)字格式化采用的模式,如不定義,則采用默認(rèn)的#來進(jìn)行格式化。
示例
|
說明
|
---|---|
formatnumber(C1) | 取到C1單元格值,這個(gè)值必須可以轉(zhuǎn)換成數(shù)字,然后按#來進(jìn)行格式化成字符串輸出 |
formatnumber(C1,"#,###.00") | 取到C1單元格值,這個(gè)值必須可以轉(zhuǎn)換成數(shù)字,然后按#,###.00來進(jìn)行格式化成字符串輸出 |
get函數(shù)是2.1.2版本中新增的,它的作用是獲取數(shù)據(jù)集中指定位置的對(duì)象或?qū)ο蟮哪硞€(gè)屬性值。get函數(shù)可以有三個(gè)參數(shù),第一個(gè)為目標(biāo)集合對(duì)象、第二個(gè)為數(shù)據(jù)位置、第三個(gè)是對(duì)象屬性,其中第一個(gè)參數(shù)是必須的,后面兩個(gè)參數(shù)為可選。
示例
|
說明
|
---|---|
get(ds1.select(employee_name)) | 從ds1數(shù)據(jù)集中獲取第1個(gè)對(duì)象值,并將其返回。第二個(gè)位置參數(shù)沒有指定默認(rèn)取集合第一個(gè)對(duì)象 |
get(ds1.select(employee_name),2) | 從ds1數(shù)據(jù)集中獲取第2個(gè)對(duì)象值,并將其返回。 |
get(ds1.select(employee_name),2,"deptId") | 從ds1數(shù)據(jù)集中獲取第2個(gè)對(duì)象值,并從這個(gè)對(duì)象里取deptId屬性值并返回。 |
get(A3,4) | 獲取所有A3單元格值,從中取第四個(gè)值并返回。 |
所謂分頁相關(guān)函數(shù),是指這些函數(shù)是在分頁的時(shí)候進(jìn)行計(jì)算,比如計(jì)算當(dāng)前頁有多少條記錄、當(dāng)前頁某個(gè)單元格值累加后是多少、平均值是多少、最大值是多少等等。
分頁相關(guān)函數(shù)使用一般來說,分頁相關(guān)函數(shù)多用在行類型為“重復(fù)表頭”或“重復(fù)表尾”的行中的單元格里。同時(shí),需要注意的是,分頁相關(guān)函數(shù)只會(huì)在分頁預(yù)覽時(shí)顯示,這點(diǎn)需要注意。
統(tǒng)計(jì)當(dāng)前頁下表達(dá)對(duì)應(yīng)值的數(shù)目,與count函數(shù)的使用方法基本一致,不同之處在于pcount只會(huì)統(tǒng)計(jì)當(dāng)前頁中對(duì)應(yīng)的表達(dá)式內(nèi)容的數(shù)目。
示例
|
說明
|
---|---|
pcount(C1) | 統(tǒng)計(jì)當(dāng)前頁中,C1單元格數(shù)目 |
pcount(C1,D2{D2>10000}) | 統(tǒng)計(jì)當(dāng)前頁中,C1單元格和當(dāng)前頁中所有D2單元格值大于10000的D2單元格數(shù)目 |
將當(dāng)前頁下表達(dá)式對(duì)應(yīng)的所有值進(jìn)行累加,與sum函數(shù)對(duì)應(yīng),不同的是psum只針對(duì)當(dāng)前頁。
示例
|
說明
|
---|---|
psum(C1) | 將當(dāng)前頁中,所有C1單元格值進(jìn)行累加 |
psum(C1,D2{D2<10000}) | 將當(dāng)前頁中,所有C1單元格值以及值小于10000的D2單元格值累加起來 |
比較當(dāng)前頁中,表達(dá)式對(duì)應(yīng)的值,找出其中最大的那個(gè)值,與max函數(shù)對(duì)應(yīng),只是pmax只針對(duì)當(dāng)前頁。
示例
|
說明
|
---|---|
pmax(C1) | 比較當(dāng)前頁中所有C1單元格值,找出最大值。 |
pmax(C1,D2,E2{E2>1000}) | 比較當(dāng)前頁中,所有C1、D2以及值大于1000的E2單元格值,找出其中最大的。 |
比較當(dāng)前頁中,表達(dá)式對(duì)應(yīng)的值,找出其中最小的那個(gè)值,與min函數(shù)對(duì)應(yīng),只是pmin只針對(duì)當(dāng)前頁。
示例
|
說明
|
---|---|
pmin(C1) | 比較當(dāng)前頁中所有C1單元格值,找出最小值。 |
pmin(C1,D2,E2{E2>1000}) | 比較當(dāng)前頁中,所有C1、D2以及值大于1000的E2單元格值,找出其中最小的。 |
輸出當(dāng)前所在頁的頁碼,該函數(shù)沒有參數(shù)。
示例
|
說明
|
---|---|
page() | 輸出當(dāng)前所在頁的頁碼 |
輸出當(dāng)前報(bào)表一共有多少頁,該函數(shù)沒有參數(shù)。
示例
|
說明
|
---|---|
pages() | 輸出當(dāng)前報(bào)表一共有多少頁 |
pages函數(shù)的使用范圍pages函數(shù)目前僅能在頁眉頁腳中使用
求參數(shù)的絕對(duì)值,參數(shù)值計(jì)算后數(shù)據(jù)類型必須是數(shù)字,否則會(huì)報(bào)錯(cuò)。
示例
|
說明
|
---|---|
abs(-233) | 求-233絕對(duì)值,計(jì)算后的值是233 |
abs(C1) | 相對(duì)當(dāng)前單元格,取到C1單元格的值,如果有多個(gè)則取第一個(gè)值返回其絕對(duì)值 |
對(duì)參數(shù)值取最小值,如果參數(shù)值為小數(shù)將舍棄小數(shù)點(diǎn)后面的小數(shù)部分,參數(shù)值計(jì)算后數(shù)據(jù)類型必須是數(shù)字,否則會(huì)報(bào)錯(cuò)。
示例
|
說明
|
---|---|
ceil(32.32) | 計(jì)算后值為32 |
ceil(C1) | 相對(duì)當(dāng)前單元格,取到C1單元格的值,如果有多個(gè)則取第一個(gè)值返回其最小值 |
對(duì)參數(shù)值取最大值,如果參數(shù)值為小數(shù)將四舍五入小數(shù)點(diǎn)后面的小數(shù)部分,參數(shù)值計(jì)算后數(shù)據(jù)類型必須是數(shù)字,否則會(huì)報(bào)錯(cuò)。
示例
|
說明
|
---|---|
floor(32.52) | 計(jì)算后值為33 |
floor(C1) | 相對(duì)當(dāng)前單元格,取到C1單元格的值,如果有多個(gè)則取第一個(gè)值返回其最大值 |
將一個(gè)數(shù)字轉(zhuǎn)化成中文,參數(shù)值計(jì)算后數(shù)據(jù)類型必須是數(shù)字,否則會(huì)報(bào)錯(cuò)。
示例
|
說明
|
---|---|
chn(213) | 計(jì)算后的值為:貳佰壹拾叁 |
chn(C1) | 相對(duì)當(dāng)前單元格,取到C1單元格的值,如果有多個(gè)則取第一個(gè)值,再轉(zhuǎn)化成中文 |
chn函數(shù)使用注意事項(xiàng)chn函數(shù)轉(zhuǎn)換數(shù)字即可是整數(shù),也可是小數(shù),如果是小數(shù)支持后面最多兩位小數(shù),如果實(shí)際小數(shù)過多,chn函數(shù)會(huì)先進(jìn)行四舍五入,然后再進(jìn)行轉(zhuǎn)換。
將一個(gè)數(shù)字轉(zhuǎn)換成中文大寫的人民幣金額,參數(shù)值計(jì)算后數(shù)據(jù)類型必須是數(shù)字,否則會(huì)報(bào)錯(cuò)。
示例
|
說明
|
---|---|
rmb(213) | 計(jì)算后的值為:貳佰壹拾叁元整 |
rmb(200.12) | 計(jì)算后的值為:貳佰元壹角貳分 |
rmb(C1) | 相對(duì)當(dāng)前單元格,取到C1單元格的值,如果有多個(gè)則取第一個(gè)值,再轉(zhuǎn)化成中文大寫的人民幣金額 |
rmb函數(shù)使用注意事項(xiàng)rmb函數(shù)轉(zhuǎn)換數(shù)字即可是整數(shù),也可是小數(shù),如果是小數(shù)支持后面最多兩位小數(shù),如果實(shí)際小數(shù)過多,rmb函數(shù)會(huì)先進(jìn)行四舍五入,然后再進(jìn)行轉(zhuǎn)換。
求參數(shù)的余弦值,參數(shù)值計(jì)算后數(shù)據(jù)類型必須是數(shù)字,否則會(huì)報(bào)錯(cuò)。
示例
|
說明
|
---|---|
cos (213) | 計(jì)算后的值為:0.8090276252864301 |
cos(C1) | 相對(duì)當(dāng)前單元格,取到C1單元格的值,如果有多個(gè)則取第一個(gè)值,再求其余弦值 |
求參數(shù)的正弦值,參數(shù)值計(jì)算后數(shù)據(jù)類型必須是數(shù)字,否則會(huì)報(bào)錯(cuò)。
示例
|
說明
|
---|---|
sin(213) | 計(jì)算后的值為:-0.58777 |
sin(C1) | 相對(duì)當(dāng)前單元格,取到C1單元格的值,如果有多個(gè)則取第一個(gè)值,再求其正弦值 |
求參數(shù)的正切值,參數(shù)值計(jì)算后數(shù)據(jù)類型必須是數(shù)字,否則會(huì)報(bào)錯(cuò)。
示例
|
說明
|
---|---|
tan(213) | 計(jì)算后的值為:-0.72651 |
tan(C1) | 相對(duì)當(dāng)前單元格,取到C1單元格的值,如果有多個(gè)則取第一個(gè)值,再求其正切值 |
求參數(shù)的自然數(shù)底數(shù)e的參數(shù)次方,參數(shù)值計(jì)算后數(shù)據(jù)類型必須是數(shù)字,否則會(huì)報(bào)錯(cuò)。
示例
|
說明
|
---|---|
expr(213) | 計(jì)算后的值為:3.196867565323994E921 |
expr(C1) | 相對(duì)當(dāng)前單元格,取到C1單元格的值,如果有多個(gè)則取第一個(gè)值,再求其自然數(shù)底數(shù)e的參數(shù)次方 |
求參數(shù)以10為底的對(duì)數(shù)值,參數(shù)值計(jì)算后數(shù)據(jù)類型必須是數(shù)字,否則會(huì)報(bào)錯(cuò)。
示例
|
說明
|
---|---|
log10(213) | 計(jì)算后的值為:2.3283796034387376 |
log10(C1) | 相對(duì)當(dāng)前單元格,取到C1單元格的值,如果有多個(gè)則取第一個(gè)值,再求其以10為底的對(duì)數(shù)值 |
求參數(shù)自然對(duì)數(shù)值,參數(shù)值計(jì)算后數(shù)據(jù)類型必須是數(shù)字,否則會(huì)報(bào)錯(cuò)。
示例
|
說明
|
---|---|
log(213) | 計(jì)算后的值為:5.3612921657094255 |
log(C1) | 相對(duì)當(dāng)前單元格,取到C1單元格的值,如果有多個(gè)則取第一個(gè)值,再求其自然對(duì)數(shù)值 |
求一組數(shù)據(jù)的中位數(shù),參數(shù)值計(jì)算后數(shù)據(jù)類型必須是數(shù)字,否則會(huì)報(bào)錯(cuò)。
示例
|
說明
|
---|---|
median(12,42,31) | 運(yùn)行結(jié)果為31 |
median(C1) | 相對(duì)當(dāng)前單元格,取到C1單元格的所有值,再取這些值中位數(shù) |
median(C1,C2) | 相對(duì)當(dāng)前單元格,取到C1單元格和C2單元格的所有值,再取這些值中位數(shù) |
求一組數(shù)據(jù)的眾數(shù),參數(shù)值計(jì)算后數(shù)據(jù)類型必須是數(shù)字,否則會(huì)報(bào)錯(cuò)。
示例
|
說明
|
---|---|
mode(12,42,3,12) | 運(yùn)行結(jié)果為12 |
mode(C1) | 相對(duì)當(dāng)前單元格,取到C1單元格的所有值,再取這些值眾數(shù) |
mode(C1,C2) | 相對(duì)當(dāng)前單元格,取到C1單元格和C2單元格的所有值,再取這些值眾數(shù) |
求一組數(shù)據(jù)的方差,參數(shù)值計(jì)算后數(shù)據(jù)類型必須是數(shù)字,否則會(huì)報(bào)錯(cuò)。
示例
|
說明
|
---|---|
vara(12,42,3,12) | 運(yùn)行結(jié)果為209.25 |
vara(C1) | 相對(duì)當(dāng)前單元格,取到C1單元格的所有值,再取這些值方差 |
vara(C1,C2) | 相對(duì)當(dāng)前單元格,取到C1單元格和C2單元格的所有值,再取這些值方差 |
求一組數(shù)據(jù)的標(biāo)準(zhǔn)差,參數(shù)值計(jì)算后數(shù)據(jù)類型必須是數(shù)字,否則會(huì)報(bào)錯(cuò)。
示例
|
說明
|
---|---|
stdevp(12,42,3,12) | 運(yùn)行結(jié)果為14.75424 |
stdevp(C1) | 相對(duì)當(dāng)前單元格,取到C1單元格的所有值,再取這些值標(biāo)準(zhǔn)差 |
stdevp(C1,C2) | 相對(duì)當(dāng)前單元格,取到C1單元格和C2單元格的所有值,再取這些值標(biāo)準(zhǔn)差 |
pow函數(shù)需要兩個(gè)參數(shù),第一個(gè)為需要計(jì)算的數(shù)字或表達(dá)式,第二個(gè)為具體的次方。
示例
|
說明
|
---|---|
pow(3,2) | 表示計(jì)算3的2次方值,運(yùn)算后的結(jié)果為9 |
pow(C1,3) | 相對(duì)當(dāng)前單元格,取到C1單元格的值,如果取到的C1單元格有多個(gè),則取第一個(gè),再對(duì)其值求3次方 |
生成一個(gè)隨機(jī)數(shù),可以有一個(gè)數(shù)字類型的參數(shù)或表達(dá)式,如果有參數(shù),那么以這個(gè)參數(shù)作為生成隨機(jī)數(shù)字的種子,如果沒有則生成一個(gè)0~1之間的隨機(jī)數(shù)。
示例
|
說明
|
---|---|
random() | 生成一個(gè)0~1之間的隨機(jī)數(shù) |
random(10) | 生成一個(gè)1~10之間的隨機(jī)數(shù) |
random(C1) | 相對(duì)當(dāng)前單元格,取到C1單元格的值,如果取到的C1單元格有多個(gè),則取第一個(gè),再將這個(gè)值作為種子生成一個(gè)隨機(jī)數(shù) |
對(duì)一個(gè)小數(shù)進(jìn)行四舍五入,它需要兩個(gè)參數(shù),第一個(gè)參數(shù)要進(jìn)行四舍五入的小數(shù)或表達(dá)式,第二個(gè)為
一個(gè)可選的
要保留的小數(shù)位數(shù),如果沒有,則不保留小數(shù)。
示例
|
說明
|
---|---|
round(32.12) | 計(jì)算后的值為32 |
round(32.123,2) | 計(jì)算后的值為32.12 |
round(C1,2) | 相對(duì)當(dāng)前單元格,取到C1單元格的值,如果取到的C1單元格有多個(gè),則取第一個(gè),然后對(duì)這個(gè)值做保留兩位小數(shù)的四舍五入操作 |
求一個(gè)數(shù)字或表達(dá)式計(jì)算后值的平方根,參數(shù)值計(jì)算后數(shù)據(jù)類型必須是數(shù)字,否則會(huì)報(bào)錯(cuò)。
示例
|
說明
|
---|---|
sqrt(2) | 計(jì)算后的值為:1.414214 |
sqrt(C1) | 相對(duì)當(dāng)前單元格,取到C1單元格的值,如果取到的C1單元格有多個(gè),則取第一個(gè),然后對(duì)這個(gè)值進(jìn)行取平方根計(jì)算 |
輸出日期,date函數(shù)可以有一個(gè)參數(shù),就是日期格式,如果沒有則采用yyyy-MM-dd HH:mm:ss格式輸出日期。
示例
|
日期
|
---|---|
date() | 以yyyy-MM-dd HH:mm:ss格式輸出當(dāng)前日期,如:2010-08-15 08:45:10 |
date('yyyy年MM月dd日') | 以yyyy年MM月dd日格式輸出當(dāng)前日期,如:2010年08月15日 |
輸出當(dāng)前在月份中的天,該函數(shù)沒有參數(shù)。
示例
|
說明
|
---|---|
day() | 可能輸出15,表示當(dāng)前為15日 |
輸出當(dāng)前月份,該函數(shù)沒有參數(shù)。
示例
|
說明
|
---|---|
month | 可能輸出8,表示當(dāng)前為8月份 |
輸出當(dāng)前是星期幾,該函數(shù)沒有參數(shù)。
示例
|
說明
|
---|---|
week() | 輸出值可能是“星期三”,表示當(dāng)前為星期三 |
輸出當(dāng)前年份,該函數(shù)沒有參數(shù)
示例
|
說明
|
---|---|
year | 輸出結(jié)果為2010,表示當(dāng)前為2010年 |
用于返回一個(gè)字符串,在目標(biāo)字符串中的位置,該函數(shù)至少需要兩個(gè)參數(shù),第一個(gè)為目標(biāo)字符串,第二個(gè)為要查找的字符串,如果有三個(gè)參數(shù),那么第三個(gè)就是開始查找的位置信息,第三個(gè)參數(shù)必須是一定大于等于0的數(shù)字。
示例
|
說明
|
---|---|
indexof('中華人民共和國','共和') | 表示要從"中華人民共和國"這個(gè)字符串中找到“共和”字符串的位置 |
indexof('中華人民共和國','共和',2) | 表示要從"中華人民共和國"這個(gè)字符串中第二個(gè)字符開始始,找到“共和”字符串的位置 |
indexof(C1,"人民",2) | 相對(duì)于當(dāng)前單元格,找到C1單元格,如果C1單元格有多個(gè),則取第一個(gè)單元格值,再從這個(gè)值中第2個(gè)位置開始找到“人民”字符串的位置 |
求目標(biāo)字符串長度,該函數(shù)必須要有一個(gè)參數(shù)。
示例
|
說明
|
---|---|
length("中華人民共和國") | 計(jì)算結(jié)果為7 |
length(C1) | 相對(duì)于當(dāng)前單元格,找到C1單元格,如果C1單元格有多個(gè),則取第一個(gè)單元格值,然后計(jì)算這個(gè)值長度 |
將參數(shù)中英文全部轉(zhuǎn)為小寫,該函數(shù)必須要有一個(gè)參數(shù)。
示例
|
說明
|
---|---|
lower("Super man") | 計(jì)算后的結(jié)果為:super man |
lower(C1) | 相對(duì)于當(dāng)前單元格,找到C1單元格,如果C1單元格有多個(gè),則取第一個(gè)單元格值,然后將這個(gè)值中所有英文轉(zhuǎn)換成小寫 |
將參數(shù)中英文全部轉(zhuǎn)為大寫,該函數(shù)必須要有一個(gè)參數(shù)。
示例
|
說明
|
---|---|
upper("Super man") | 計(jì)算后的結(jié)果為:SUPER MAN |
upper(C1) | 相對(duì)于當(dāng)前單元格,找到C1單元格,如果C1單元格有多個(gè),則取第一個(gè)單元格值,然后將這個(gè)值中所有英文轉(zhuǎn)換成大寫 |
這個(gè)函數(shù)需要有三個(gè)參數(shù),第一個(gè)是目標(biāo)字符串,第二個(gè)是要被替換的字符串,第三個(gè)是要替換的字符串。
示例
|
說明
|
---|---|
replace("他是一個(gè)好人","他","她") | 計(jì)算結(jié)果為:她是一個(gè)好人 |
replace(C1,"他","她") | 相對(duì)于當(dāng)前單元格,找到C1單元格,如果C1單元格有多個(gè),則取第一個(gè)單元格值,然后再將這個(gè)值中所有“他”換成“她” |
該函數(shù)允許有三個(gè)參數(shù),第一個(gè)是目標(biāo)字符串,第二個(gè)為開始截取的位置,第三個(gè)為截取結(jié)束的位置。
示例
|
說明
|
---|---|
substring("他是一個(gè)好人",2) | 運(yùn)行結(jié)果為:一個(gè)好人 |
substring("他是一個(gè)好人",2,4) | 運(yùn)行結(jié)果為:一個(gè) |
substring(C1,2,10) | 相對(duì)于當(dāng)前單元格,找到C1單元格,如果C1單元格有多個(gè),則取第一個(gè)單元格值,然后再取這個(gè)值中第2到第10個(gè)字符之間內(nèi)容 |
去除目標(biāo)字符串兩邊空格,該函數(shù)要求必須要有一個(gè)參數(shù)。
示例
|
說明
|
---|---|
trim(" 一個(gè)好人 ") | 運(yùn)行結(jié)果為: 一個(gè)好人 |
trim(C1) | 相對(duì)于當(dāng)前單元格,找到C1單元格,如果C1單元格有多個(gè),則取第一個(gè)單元格值,然后再將這個(gè)值兩邊可能存在的空格全部去除 |
json函數(shù)是2.1.3版本新增的,該函數(shù)可以解析指定的目標(biāo)JSON字符串,并取出指定的屬性值。json函數(shù)需要有兩個(gè)參數(shù),第一個(gè)是目標(biāo)JSON字符串對(duì)象,第二個(gè)是要取出的屬性名。
示例
|
說明
|
---|---|
json(emp.select(other),'name') | 取出數(shù)據(jù)集emp中other屬性值對(duì)應(yīng)的字符串,將其轉(zhuǎn)換為JSON,再從這個(gè)JSON中取name屬性值。 |
json(emp.select(other),'company.name') | 取出數(shù)據(jù)集emp中other屬性值對(duì)應(yīng)的字符串,將其轉(zhuǎn)換為JSON,再從這個(gè)JSON中取company子對(duì)象下的name屬性值。 |
對(duì)JSON字符串的要求json函數(shù)在解析JSON字符串時(shí),要求必須是標(biāo)準(zhǔn)的JSON字符串,比如下面這樣的:{"name":"superman","age":32,"company":{"name":"bstek","address":"SHANGHAI CHINA"}}也就是key屬性也需要用“”包裹的,如果是下面這種類型的JSON字符串就解析時(shí)就會(huì)產(chǎn)生錯(cuò)誤:{name:"superman",age:32,company:{name:"bstek",address:"SHANGHAI CHINA"}}
更多建議: