UReport2 函數(shù)

2023-01-05 16:00 更新
UReport2教學(xué)視頻http://pan.baidu.com/s/1boWTxF5,密碼:98hj

       在前一小節(jié)中,我們介紹了表達(dá)式,實(shí)際上函數(shù)也是表達(dá)式的一種。在UReport2當(dāng)中提供了大量的內(nèi)置函數(shù),通過(guò)這些內(nèi)置函數(shù),可以實(shí)現(xiàn)各種各樣的報(bào)表計(jì)算功能。函數(shù)語(yǔ)法格式如下:

      函數(shù)名([表達(dá)式,表達(dá)式...])

      下面我們就來(lái)逐個(gè)介紹UReport2內(nèi)置的函數(shù)。

常用函數(shù)

count函數(shù)(統(tǒng)計(jì)數(shù)量)

        count函數(shù)是對(duì)給定的表達(dá)式在計(jì)算后對(duì)象數(shù)量進(jìn)行統(tǒng)計(jì)。

示例
說(shuō)明
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ù)(累加)

       sum函數(shù)是對(duì)給定的表達(dá)式在計(jì)算后值進(jìn)行累加,sum函數(shù)要求各個(gè)表達(dá)式計(jì)算后的值必須是數(shù)字,否則將產(chǎn)生錯(cuò)誤。

示例
說(shuō)明
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ù)(求平均值)

       avg函數(shù)是對(duì)給定的表達(dá)式在計(jì)算后值求平均值,avg函數(shù)要求各個(gè)表達(dá)式計(jì)算后的值必須是數(shù)字,否則將產(chǎn)生錯(cuò)誤。

示例
說(shuō)明
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ù)(求最大值)

       max函數(shù)是對(duì)給定的表達(dá)式在計(jì)算后值求其中的最大值,max函數(shù)要求各個(gè)表達(dá)式計(jì)算后的值必須是數(shù)字,否則將產(chǎn)生錯(cuò)誤。

示例
說(shuō)明
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ù)(求最小值)

       min函數(shù)是對(duì)給定的表達(dá)式在計(jì)算后值求其中的最小值,min函數(shù)要求各個(gè)表達(dá)式計(jì)算后的值必須是數(shù)字,否則將產(chǎn)生錯(cuò)誤。

示例
說(shuō)明
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)行求最小值

row函數(shù)(取行號(hào))

       取當(dāng)前單元格所在行的行號(hào),這個(gè)函數(shù)比較簡(jiǎn)單,它沒(méi)有參數(shù)。

示例
說(shuō)明
row()  取當(dāng)前單元格所在行的行號(hào)

column函數(shù)(取列號(hào))

      取當(dāng)前單元格所在列的列號(hào),這個(gè)函數(shù)比較簡(jiǎn)單,它沒(méi)有參數(shù)。

示例
說(shuō)明
column()  取當(dāng)前單元格所在列的列號(hào)

order函數(shù)(排序)

       order函數(shù)需要兩個(gè)參數(shù),第一個(gè)為要進(jìn)行排序的對(duì)象表達(dá)式,第二個(gè)是一個(gè)布爾值,用來(lái)設(shè)置排序方式,true正序,false為倒序。

示例
說(shuō)明
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é)果集合

list函數(shù)(羅列數(shù)據(jù))

       取到表達(dá)式中定義所有數(shù)據(jù),并以集合形式返回。

示例
說(shuō)明
list(C1) 相對(duì)當(dāng)前單元格,取到所有C1單元格值以集合形式返回
list(C1,C2{age>20}) 相對(duì)當(dāng)前單元格,取到所有C1單元格值及C2單元格中age屬性大于20的所有C2單元格值以集合形式返回

param函數(shù)(取參數(shù))

       param函數(shù)用來(lái)獲取外部傳入的參數(shù),它需要一個(gè)參數(shù),用于指定要獲取的參數(shù)名稱(chēng)。

示例
說(shuō)明
param("deptId") 獲取外部傳入的名為deptId的參數(shù)值
param(C1) 相對(duì)于當(dāng)前單元格,取到C1單元格的值,如果有多個(gè)C1單元格則么第一個(gè),然后以這個(gè)C1單元格值作為參數(shù)名稱(chēng),獲取外部對(duì)應(yīng)的參數(shù)值。

emptyparam函數(shù)(判斷參數(shù)是否為空)

       emptyparam函數(shù)用于判斷指定的外部參數(shù)是否為null或空字符串,如果是返回true,否則返回false,該函數(shù)為2.2.3版本新增,如果要使用該函數(shù),請(qǐng)注意您當(dāng)前使用的ureport版本。

       emptyparam函數(shù)一般用于SQL數(shù)據(jù)集SQL表達(dá)式里,比如下面的寫(xiě)法:

${

   "select * from employee where 1=1 "+ (param("name")!=null && param("name")!="" ? "name=:name" : "")
} 

       上述的SQL判斷采用的是param函數(shù),由于要同時(shí)判斷為null以及"",寫(xiě)起來(lái)比較麻煩,如改用emptyparam函數(shù)就簡(jiǎn)單多了。

${

   "select * from employee where 1=1 "+ (emptyparam("name")==false ? "and name=:name" : "")
} 

formatdate函數(shù)(格式化日期)

       對(duì)給定的日期參數(shù)進(jìn)行格式化,它至少需要一個(gè)參數(shù),第一個(gè)參數(shù)是要格式化的日期類(lèi)型的對(duì)象,第二個(gè)參數(shù)是可選的,用于定義格式化采用的模式,如不指定則用默認(rèn)的:yyyy-MM-dd HH:mm:ss來(lái)進(jìn)行格式化。

示例
說(shuō)明
formatdate(C1) 取到C1單元格值,這個(gè)值必須是日期類(lèi)型,然后按yyyy-MM-dd HH:mm:ss來(lái)進(jìn)行格式化成字符串輸出
formatdate(C1,"yyyyMMdd") 取到C1單元格值,這個(gè)值必須是日期類(lèi)型,然后按yyyyMMdd來(lái)進(jìn)行格式化成字符串輸出

formatnumber函數(shù)(格式化數(shù)字)

       對(duì)給定的參數(shù)進(jìn)行格式化,它至少需要一個(gè)參數(shù),第一個(gè)參數(shù)是要格式化的數(shù)字對(duì)象,要保證這個(gè)參數(shù)值取到后可以轉(zhuǎn)換成日期,否則將發(fā)生錯(cuò)誤;第二個(gè)參數(shù)是可選的,用于定義數(shù)字格式化采用的模式,如不定義,則采用默認(rèn)的#來(lái)進(jìn)行格式化。

示例
說(shuō)明
formatnumber(C1) 取到C1單元格值,這個(gè)值必須可以轉(zhuǎn)換成數(shù)字,然后按#來(lái)進(jìn)行格式化成字符串輸出
formatnumber(C1,"#,###.00") 取到C1單元格值,這個(gè)值必須可以轉(zhuǎn)換成數(shù)字,然后按#,###.00來(lái)進(jìn)行格式化成字符串輸出

get函數(shù)(獲取指定位置數(shù)據(jù))

       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ù)為可選。

示例
說(shuō)明
get(ds1.select(employee_name)) 從ds1數(shù)據(jù)集中獲取第1個(gè)對(duì)象值,并將其返回。第二個(gè)位置參數(shù)沒(méi)有指定默認(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è)值并返回。

分頁(yè)相關(guān)函數(shù)

       所謂分頁(yè)相關(guān)函數(shù),是指這些函數(shù)是在分頁(yè)的時(shí)候進(jìn)行計(jì)算,比如計(jì)算當(dāng)前頁(yè)有多少條記錄、當(dāng)前頁(yè)某個(gè)單元格值累加后是多少、平均值是多少、最大值是多少等等。

分頁(yè)相關(guān)函數(shù)使用一般來(lái)說(shuō),分頁(yè)相關(guān)函數(shù)多用在行類(lèi)型為“重復(fù)表頭”或“重復(fù)表尾”的行中的單元格里。同時(shí),需要注意的是,分頁(yè)相關(guān)函數(shù)只會(huì)在分頁(yè)預(yù)覽時(shí)顯示,這點(diǎn)需要注意。

pcount函數(shù)

       統(tǒng)計(jì)當(dāng)前頁(yè)下表達(dá)對(duì)應(yīng)值的數(shù)目,與count函數(shù)的使用方法基本一致,不同之處在于pcount只會(huì)統(tǒng)計(jì)當(dāng)前頁(yè)中對(duì)應(yīng)的表達(dá)式內(nèi)容的數(shù)目。

示例
說(shuō)明
pcount(C1) 統(tǒng)計(jì)當(dāng)前頁(yè)中,C1單元格數(shù)目
pcount(C1,D2{D2>10000}) 統(tǒng)計(jì)當(dāng)前頁(yè)中,C1單元格和當(dāng)前頁(yè)中所有D2單元格值大于10000的D2單元格數(shù)目

psum函數(shù)

        將當(dāng)前頁(yè)下表達(dá)式對(duì)應(yīng)的所有值進(jìn)行累加,與sum函數(shù)對(duì)應(yīng),不同的是psum只針對(duì)當(dāng)前頁(yè)。

示例
說(shuō)明
psum(C1) 將當(dāng)前頁(yè)中,所有C1單元格值進(jìn)行累加
psum(C1,D2{D2<10000}) 將當(dāng)前頁(yè)中,所有C1單元格值以及值小于10000的D2單元格值累加起來(lái)

pmax函數(shù)

       比較當(dāng)前頁(yè)中,表達(dá)式對(duì)應(yīng)的值,找出其中最大的那個(gè)值,與max函數(shù)對(duì)應(yīng),只是pmax只針對(duì)當(dāng)前頁(yè)。

示例
說(shuō)明
pmax(C1) 比較當(dāng)前頁(yè)中所有C1單元格值,找出最大值。
pmax(C1,D2,E2{E2>1000}) 比較當(dāng)前頁(yè)中,所有C1、D2以及值大于1000的E2單元格值,找出其中最大的。

pmin函數(shù)

       比較當(dāng)前頁(yè)中,表達(dá)式對(duì)應(yīng)的值,找出其中最小的那個(gè)值,與min函數(shù)對(duì)應(yīng),只是pmin只針對(duì)當(dāng)前頁(yè)。

示例
說(shuō)明
pmin(C1) 比較當(dāng)前頁(yè)中所有C1單元格值,找出最小值。
pmin(C1,D2,E2{E2>1000}) 比較當(dāng)前頁(yè)中,所有C1、D2以及值大于1000的E2單元格值,找出其中最小的。

page函數(shù)

       輸出當(dāng)前所在頁(yè)的頁(yè)碼,該函數(shù)沒(méi)有參數(shù)。

示例
說(shuō)明
page() 輸出當(dāng)前所在頁(yè)的頁(yè)碼

pages函數(shù)

       輸出當(dāng)前報(bào)表一共有多少頁(yè),該函數(shù)沒(méi)有參數(shù)。

示例
說(shuō)明
pages() 輸出當(dāng)前報(bào)表一共有多少頁(yè)
pages函數(shù)的使用范圍pages函數(shù)目前僅能在頁(yè)眉頁(yè)腳中使用

 

數(shù)學(xué)函數(shù)

abs函數(shù)(絕對(duì)值)

       求參數(shù)的絕對(duì)值,參數(shù)值計(jì)算后數(shù)據(jù)類(lèi)型必須是數(shù)字,否則會(huì)報(bào)錯(cuò)。

示例
說(shuō)明
abs(-233) 求-233絕對(duì)值,計(jì)算后的值是233
abs(C1) 相對(duì)當(dāng)前單元格,取到C1單元格的值,如果有多個(gè)則取第一個(gè)值返回其絕對(duì)值

ceil函數(shù)(最小值)

       對(duì)參數(shù)值取最小值,如果參數(shù)值為小數(shù)將舍棄小數(shù)點(diǎn)后面的小數(shù)部分,參數(shù)值計(jì)算后數(shù)據(jù)類(lèi)型必須是數(shù)字,否則會(huì)報(bào)錯(cuò)。

示例
說(shuō)明
ceil(32.32) 計(jì)算后值為32
ceil(C1) 相對(duì)當(dāng)前單元格,取到C1單元格的值,如果有多個(gè)則取第一個(gè)值返回其最小值

floor函數(shù)(最大值)

      對(duì)參數(shù)值取最大值,如果參數(shù)值為小數(shù)將四舍五入小數(shù)點(diǎn)后面的小數(shù)部分,參數(shù)值計(jì)算后數(shù)據(jù)類(lèi)型必須是數(shù)字,否則會(huì)報(bào)錯(cuò)。

示例
說(shuō)明
floor(32.52) 計(jì)算后值為33
floor(C1) 相對(duì)當(dāng)前單元格,取到C1單元格的值,如果有多個(gè)則取第一個(gè)值返回其最大值

chn函數(shù)(數(shù)字轉(zhuǎn)中文)

       將一個(gè)數(shù)字轉(zhuǎn)化成中文,參數(shù)值計(jì)算后數(shù)據(jù)類(lèi)型必須是數(shù)字,否則會(huì)報(bào)錯(cuò)。

示例
說(shuō)明
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ù)過(guò)多,chn函數(shù)會(huì)先進(jìn)行四舍五入,然后再進(jìn)行轉(zhuǎn)換。

 

rmb函數(shù)(數(shù)字轉(zhuǎn)換為大寫(xiě)的人民幣金額)

         將一個(gè)數(shù)字轉(zhuǎn)換成中文大寫(xiě)的人民幣金額,參數(shù)值計(jì)算后數(shù)據(jù)類(lèi)型必須是數(shù)字,否則會(huì)報(bào)錯(cuò)。

示例
說(shuō)明
rmb(213) 計(jì)算后的值為:貳佰壹拾叁元整
rmb(200.12) 計(jì)算后的值為:貳佰元壹角貳分
rmb(C1) 相對(duì)當(dāng)前單元格,取到C1單元格的值,如果有多個(gè)則取第一個(gè)值,再轉(zhuǎn)化成中文大寫(xiě)的人民幣金額
rmb函數(shù)使用注意事項(xiàng)rmb函數(shù)轉(zhuǎn)換數(shù)字即可是整數(shù),也可是小數(shù),如果是小數(shù)支持后面最多兩位小數(shù),如果實(shí)際小數(shù)過(guò)多,rmb函數(shù)會(huì)先進(jìn)行四舍五入,然后再進(jìn)行轉(zhuǎn)換。

cos函數(shù)(求余弦)

       求參數(shù)的余弦值,參數(shù)值計(jì)算后數(shù)據(jù)類(lèi)型必須是數(shù)字,否則會(huì)報(bào)錯(cuò)。

示例
說(shuō)明
cos (213) 計(jì)算后的值為:0.8090276252864301
cos(C1) 相對(duì)當(dāng)前單元格,取到C1單元格的值,如果有多個(gè)則取第一個(gè)值,再求其余弦值

sin函數(shù)(正弦)

       求參數(shù)的正弦值,參數(shù)值計(jì)算后數(shù)據(jù)類(lèi)型必須是數(shù)字,否則會(huì)報(bào)錯(cuò)。

示例
說(shuō)明
sin(213) 計(jì)算后的值為:-0.58777
sin(C1) 相對(duì)當(dāng)前單元格,取到C1單元格的值,如果有多個(gè)則取第一個(gè)值,再求其正弦值

 

tan函數(shù)(正切)

      求參數(shù)的正切值,參數(shù)值計(jì)算后數(shù)據(jù)類(lèi)型必須是數(shù)字,否則會(huì)報(bào)錯(cuò)。

示例
說(shuō)明
tan(213) 計(jì)算后的值為:-0.72651
tan(C1) 相對(duì)當(dāng)前單元格,取到C1單元格的值,如果有多個(gè)則取第一個(gè)值,再求其正切值

 

exp函數(shù)(方法用于返回自然數(shù)底數(shù)e的參數(shù)次方)

       求參數(shù)的自然數(shù)底數(shù)e的參數(shù)次方,參數(shù)值計(jì)算后數(shù)據(jù)類(lèi)型必須是數(shù)字,否則會(huì)報(bào)錯(cuò)。

示例
說(shuō)明
expr(213) 計(jì)算后的值為:3.196867565323994E921
expr(C1) 相對(duì)當(dāng)前單元格,取到C1單元格的值,如果有多個(gè)則取第一個(gè)值,再求其自然數(shù)底數(shù)e的參數(shù)次方

log10函數(shù)(返回以10為底的對(duì)數(shù)值)

       求參數(shù)以10為底的對(duì)數(shù)值,參數(shù)值計(jì)算后數(shù)據(jù)類(lèi)型必須是數(shù)字,否則會(huì)報(bào)錯(cuò)。

示例
說(shuō)明
log10(213) 計(jì)算后的值為:2.3283796034387376
log10(C1) 相對(duì)當(dāng)前單元格,取到C1單元格的值,如果有多個(gè)則取第一個(gè)值,再求其以10為底的對(duì)數(shù)值

log函數(shù)(自然對(duì)數(shù))

       求參數(shù)自然對(duì)數(shù)值,參數(shù)值計(jì)算后數(shù)據(jù)類(lèi)型必須是數(shù)字,否則會(huì)報(bào)錯(cuò)。

示例
說(shuō)明
log(213) 計(jì)算后的值為:5.3612921657094255
log(C1) 相對(duì)當(dāng)前單元格,取到C1單元格的值,如果有多個(gè)則取第一個(gè)值,再求其自然對(duì)數(shù)值

median函數(shù)(中位數(shù))

        求一組數(shù)據(jù)的中位數(shù),參數(shù)值計(jì)算后數(shù)據(jù)類(lèi)型必須是數(shù)字,否則會(huì)報(bào)錯(cuò)。

示例
說(shuō)明
median(12,42,31) 運(yùn)行結(jié)果為31
median(C1) 相對(duì)當(dāng)前單元格,取到C1單元格的所有值,再取這些值中位數(shù)
median(C1,C2) 相對(duì)當(dāng)前單元格,取到C1單元格和C2單元格的所有值,再取這些值中位數(shù)

mode函數(shù)(眾數(shù))

        求一組數(shù)據(jù)的眾數(shù),參數(shù)值計(jì)算后數(shù)據(jù)類(lèi)型必須是數(shù)字,否則會(huì)報(bào)錯(cuò)。

示例
說(shuō)明
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ù)

vara函數(shù)(方差)

        求一組數(shù)據(jù)的方差,參數(shù)值計(jì)算后數(shù)據(jù)類(lèi)型必須是數(shù)字,否則會(huì)報(bào)錯(cuò)。

示例
說(shuō)明
vara(12,42,3,12) 運(yùn)行結(jié)果為209.25
vara(C1) 相對(duì)當(dāng)前單元格,取到C1單元格的所有值,再取這些值方差
vara(C1,C2) 相對(duì)當(dāng)前單元格,取到C1單元格和C2單元格的所有值,再取這些值方差

 

stdevp函數(shù)(標(biāo)準(zhǔn)差)

        求一組數(shù)據(jù)的標(biāo)準(zhǔn)差,參數(shù)值計(jì)算后數(shù)據(jù)類(lèi)型必須是數(shù)字,否則會(huì)報(bào)錯(cuò)。

示例
說(shuō)明
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è)參數(shù)次方)

pow函數(shù)需要兩個(gè)參數(shù),第一個(gè)為需要計(jì)算的數(shù)字或表達(dá)式,第二個(gè)為具體的次方。

 

示例
說(shuō)明
pow(3,2) 表示計(jì)算3的2次方值,運(yùn)算后的結(jié)果為9
pow(C1,3) 相對(duì)當(dāng)前單元格,取到C1單元格的值,如果取到的C1單元格有多個(gè),則取第一個(gè),再對(duì)其值求3次方

 

random函數(shù)(隨機(jī)數(shù))

生成一個(gè)隨機(jī)數(shù),可以有一個(gè)數(shù)字類(lèi)型的參數(shù)或表達(dá)式,如果有參數(shù),那么以這個(gè)參數(shù)作為生成隨機(jī)數(shù)字的種子,如果沒(méi)有則生成一個(gè)0~1之間的隨機(jī)數(shù)。

 

示例
說(shuō)明
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ù)

 

round函數(shù)(四舍五入)

對(duì)一個(gè)小數(shù)進(jìn)行四舍五入,它需要兩個(gè)參數(shù),第一個(gè)參數(shù)要進(jìn)行四舍五入的小數(shù)或表達(dá)式,第二個(gè)為

一個(gè)可選的

要保留的小數(shù)位數(shù),如果沒(méi)有,則不保留小數(shù)。

 

示例
說(shuō)明
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ù)的四舍五入操作

 

sqrt函數(shù)(平方根)

求一個(gè)數(shù)字或表達(dá)式計(jì)算后值的平方根,參數(shù)值計(jì)算后數(shù)據(jù)類(lèi)型必須是數(shù)字,否則會(huì)報(bào)錯(cuò)。

 

示例
說(shuō)明
sqrt(2) 計(jì)算后的值為:1.414214
sqrt(C1) 相對(duì)當(dāng)前單元格,取到C1單元格的值,如果取到的C1單元格有多個(gè),則取第一個(gè),然后對(duì)這個(gè)值進(jìn)行取平方根計(jì)算

 

日期函數(shù)

date函數(shù)(日期)

輸出日期,date函數(shù)可以有一個(gè)參數(shù),就是日期格式,如果沒(méi)有則采用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日

day函數(shù)(天)

輸出當(dāng)前在月份中的天,該函數(shù)沒(méi)有參數(shù)。

示例
說(shuō)明
day() 可能輸出15,表示當(dāng)前為15日

month函數(shù)(月) 

輸出當(dāng)前月份,該函數(shù)沒(méi)有參數(shù)。 

示例
說(shuō)明
month 可能輸出8,表示當(dāng)前為8月份 

week函數(shù)(星期)

輸出當(dāng)前是星期幾,該函數(shù)沒(méi)有參數(shù)。

 

示例
說(shuō)明
week() 輸出值可能是“星期三”,表示當(dāng)前為星期三

year函數(shù)(年) 

輸出當(dāng)前年份,該函數(shù)沒(méi)有參數(shù)

示例
說(shuō)明
year 輸出結(jié)果為2010,表示當(dāng)前為2010年

字符串函數(shù)

indexOf函數(shù)(位置)

      用于返回一個(gè)字符串,在目標(biāo)字符串中的位置,該函數(shù)至少需要兩個(gè)參數(shù),第一個(gè)為目標(biāo)字符串,第二個(gè)為要查找的字符串,如果有三個(gè)參數(shù),那么第三個(gè)就是開(kāi)始查找的位置信息,第三個(gè)參數(shù)必須是一定大于等于0的數(shù)字。

 

示例
說(shuō)明
indexof('中華人民共和國(guó)','共和') 表示要從"中華人民共和國(guó)"這個(gè)字符串中找到“共和”字符串的位置
indexof('中華人民共和國(guó)','共和',2) 表示要從"中華人民共和國(guó)"這個(gè)字符串中第二個(gè)字符開(kāi)始始,找到“共和”字符串的位置
indexof(C1,"人民",2) 相對(duì)于當(dāng)前單元格,找到C1單元格,如果C1單元格有多個(gè),則取第一個(gè)單元格值,再?gòu)倪@個(gè)值中第2個(gè)位置開(kāi)始找到“人民”字符串的位置

length函數(shù)(長(zhǎng)度)

       求目標(biāo)字符串長(zhǎng)度,該函數(shù)必須要有一個(gè)參數(shù)。

示例
說(shuō)明
length("中華人民共和國(guó)") 計(jì)算結(jié)果為7
length(C1) 相對(duì)于當(dāng)前單元格,找到C1單元格,如果C1單元格有多個(gè),則取第一個(gè)單元格值,然后計(jì)算這個(gè)值長(zhǎng)度

lower函數(shù)(轉(zhuǎn)小寫(xiě))

  將參數(shù)中英文全部轉(zhuǎn)為小寫(xiě),該函數(shù)必須要有一個(gè)參數(shù)。

示例
說(shuō)明
lower("Super man") 計(jì)算后的結(jié)果為:super man
lower(C1) 相對(duì)于當(dāng)前單元格,找到C1單元格,如果C1單元格有多個(gè),則取第一個(gè)單元格值,然后將這個(gè)值中所有英文轉(zhuǎn)換成小寫(xiě)

upper函數(shù)(轉(zhuǎn)大寫(xiě))

  將參數(shù)中英文全部轉(zhuǎn)為大寫(xiě),該函數(shù)必須要有一個(gè)參數(shù)。

示例
說(shuō)明
upper("Super man") 計(jì)算后的結(jié)果為:SUPER MAN
upper(C1) 相對(duì)于當(dāng)前單元格,找到C1單元格,如果C1單元格有多個(gè),則取第一個(gè)單元格值,然后將這個(gè)值中所有英文轉(zhuǎn)換成大寫(xiě)

replace函數(shù)(替換字符串)

這個(gè)函數(shù)需要有三個(gè)參數(shù),第一個(gè)是目標(biāo)字符串,第二個(gè)是要被替換的字符串,第三個(gè)是要替換的字符串。

示例
說(shuō)明
replace("他是一個(gè)好人","他","她") 計(jì)算結(jié)果為:她是一個(gè)好人
replace(C1,"他","她") 相對(duì)于當(dāng)前單元格,找到C1單元格,如果C1單元格有多個(gè),則取第一個(gè)單元格值,然后再將這個(gè)值中所有“他”換成“她”

substring函數(shù)(子字符串)

       該函數(shù)允許有三個(gè)參數(shù),第一個(gè)是目標(biāo)字符串,第二個(gè)為開(kāi)始截取的位置,第三個(gè)為截取結(jié)束的位置。

示例
說(shuō)明
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)容

trim函數(shù)(去空格)

       去除目標(biāo)字符串兩邊空格,該函數(shù)要求必須要有一個(gè)參數(shù)。

示例
說(shuō)明
trim(" 一個(gè)好人 ") 運(yùn)行結(jié)果為: 一個(gè)好人
trim(C1) 相對(duì)于當(dāng)前單元格,找到C1單元格,如果C1單元格有多個(gè),則取第一個(gè)單元格值,然后再將這個(gè)值兩邊可能存在的空格全部去除

json函數(shù)(解析JSON字符串)

      json函數(shù)是2.1.3版本新增的,該函數(shù)可以解析指定的目標(biāo)JSON字符串,并取出指定的屬性值。json函數(shù)需要有兩個(gè)參數(shù),第一個(gè)是目標(biāo)JSON字符串對(duì)象,第二個(gè)是要取出的屬性名。

示例
說(shuō)明
json(emp.select(other),'name') 取出數(shù)據(jù)集emp中other屬性值對(duì)應(yīng)的字符串,將其轉(zhuǎn)換為JSON,再?gòu)倪@個(gè)JSON中取name屬性值。
json(emp.select(other),'company.name') 取出數(shù)據(jù)集emp中other屬性值對(duì)應(yīng)的字符串,將其轉(zhuǎn)換為JSON,再?gòu)倪@個(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屬性也需要用“”包裹的,如果是下面這種類(lèi)型的JSON字符串就解析時(shí)就會(huì)產(chǎn)生錯(cuò)誤:{name:"superman",age:32,company:{name:"bstek",address:"SHANGHAI CHINA"}}


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)