历史版本10 :自定义函数集合 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

 1. 概述编辑

1.1 版本

报表服务器版本 JAR 包版本插件版本
10.02019-08-01V1.1

1.2 应用场景

把一些常用的自定义函数封装成插件,方便用户使用。

2. 插件介绍编辑

2.1 插件安装

点击下载插件:自定义函数集合插件

设计器插件安装方法参照:设计器插件管理

服务器安装插件方法参照:服务器插件管理

2.2 操作方法

右键单元格,选择单元格元素>插入公式,在弹出的公式定义界面,点击全部函数,鼠标左键双击函数名即可插入函数,如下图所示:
1586445635759003.png

2.3 函数简介

函数名
简介  
Concat该函数中可以使用 JavaScript 脚本,避免嵌套各种 IF、SWITCH 函数的写法
Unicode返回对应于文本的第一个字符的数字
Unichar返回给定数值引用的 Unicode 字符
Search返回第一次找到特定字符或文本字符串处的字符编号,以 start_num 开头
Isodd如果参数 number 为奇数,返回 TRUE,否则返回 FALSE
Iseven如果参数 number 为偶数,返回 TRUE,否则返回 FALSE
Networkdays返回参数 start_date 和 end_date 之间完整的工作日数值,工作日不包括周末和专门指定的假期
Isblank如果参数值为空,则返回 TRUE
Gcd返回两个或多个整数的最大公约数
Lcm

返回整数的最小公倍数

Quotient返回除法的整数部分
Mround返回舍入到所需倍数的数字
Sqrtpi返回某数与 pi 的乘积的平方根
Sec返回角度的正割值
Csc传回以弧度表示之角度的余割值
Cot返回以弧度表示的角度的余切值
Acot返回数字的反余切值的主值
Factdouble返回数字的双倍阶乘
Roman将阿拉伯数字转换为文字形式的罗马数字
Counta计算范围中不为空的单元格的个数
Countblank计算单元格区域中的空单元格的数量
Mode返回的数组或数据区域中出现频率最高或重复出现值
VLookUp从指定列表中查找指定数据
SumIf根据指定条件求和
IFSIFS 函数检查是否满足一个或多个条件,且返回符合第一个 TRUE 条件的值
TextSplit函数的作用是按照指定的间隔符拆分字符

3. 详细介绍编辑

下面逐条介绍每个函数的使用方法。

3.1 Concat

1)说明

concat(text1, [text2],…):函数将多个区域和/或字符串中的文本组合起来

2)示例

concat('明','天'):返回明天

3.2 Unicode

1)说明

unicode('text'):返回对应于文本的第一个字符的数字

2)示例

Unicode('你好'):返回20320(你)

3.3 Unichar

1)说明

unicode(number):返回给定数值引用的 Unicode 字符

number :必需,number 为代表字符的 Unicode 数字

2)示例

unichar(20320):返回

3.4 Search

1)说明

search(find_text,within_text,start_num):返回第一次找到特定字符或文本字符串处的字符编号,以 start_num 开头

find_text:要查找的文本。您可以在 find_text 中使用通配符,即问号 (?) 和星号 (*)。问号匹配任一单个字符;星号匹配任一字符序列。如果要查找实际的问号或星号,请在字符前键入波形符 (~)

within_text:是要在其中搜索 find_text 的文本

start_num:within_text 中要开始搜索的字符编号。可以使用 start_num 来跳过指定数目的字符

2)示例

search("Y","AYF0093.YoungMensApparez",8):返回9(从第8位开始搜索"Y"出现的字符编号)

3.5 Isodd

1)说明

isodd(number):如果参数 number 为奇数,返回 TRUE,否则返回 FALSE

注:如果 number 不是整数,将被截尾取整。

2)示例

isodd(1.1):返回true

3.6 Iseven

1)说明

iseven(number):如果参数 number 为偶数,返回 TRUE,否则返回 FALSE

注:如果 number 不是整数,将被截尾取整。

2)示例

iseven(1.2):返回false

3.7 Networkdays

1)说明

networkdays(start_date, end_date, [holidays]):返回参数 start_date 和 end_date 之间完整的工作日数值。 工作日不包括周末和专门指定的假期

start_date:必需。代表开始日期的日期

end_date:必需。代表终止日期的日期

注:若要使用参数来指明周末的日期和天数,从而计算两个日期间的全部工作日数,请使用 NETWORKDAYS.INTL 函数。

2)示例

networkdays('2020-04-01','2020-04-07'):返回5(包含了1天假期)

注:NETWORKDAYS.INTL 函数未测试成功。

3.8 Isblank

1)说明

Isblank():如果参数值为空,则返回 TRUE

2)示例

isblank(Null):返回true

3.9 Gcd

1)说明

gcd(number1, [number2], ...):返回两个或多个整数的最大公约数

number1,number2:必需

2)示例

gcd(4,12):返回4

3.10 Lcm

1)说明

lcm(number1, [number2], ...):返回整数的最小公倍数

number1,number2:必需

2)示例

lcm(4,7):返回28

3.11 Quotient

1)说明

quotient(numerator, denominator):返回除法的整数部分

numerator:必需,被除数

denominator:必需,除数

2)示例

quotient(5,7):返回0

3.12 Mround

1)说明

mround(number, multiple):返回舍入到所需倍数的数字

number:必需,要舍入的值

multiple:必需,要舍入到的倍数

2)示例

mround(10,3):结果9(将 10 四舍五入到最接近 3 的倍数)

3.13 Sqrtpi

1)说明

sqrtpi(number):返回某数与 pi 的乘积的平方根

number:必需,number为与 pi 相乘的数

注:如果 number 小于 0,则 SQRTPI 返回错误值

2)示例

sqrtpi(3):返回3.0699801238394655

3.14 Sec

1)说明

sec(number):返回角度的正割值

number:必需,number 为需要对其进行正割的角度 (以弧度为单位)

注:number 的绝对值必须小于 2^27。

2)示例

sec(1):返回1.8508157176809255

3.15 Csc

1)说明

csc(number):传回以弧度表示之角度的余割值

number:必要

注:number 的绝对值必须小于 2^27。

2)示例

csc(1):返回1.1883951057781212

3.16 Cot

1)说明

cot(number):返回以弧度表示的角度的余切值

number:必需,要获得其余切值的角度,以弧度表示

注:number 的绝对值必须小于 2^27。

2)示例

cot(1): 返回0.642

3.17 Acot

1)说明

acot(number):返回数字的反余切值的主值

number:必需,Number 为所需角度的余切值。此值必须是实数

注:返回的角度以弧度表示,弧度值在 0(零)到 pi 之间。

2)示例

acot(1):返回0.7853981633974483

3.18 Factdouble

1)说明

factdouble(number):返回数字的双倍阶乘

number:必需

2)示例

factdouble(4):返回8

3.19 Roman

1)说明

roman(number):将阿拉伯数字转换为文字形式的罗马数字

number:必需,需要转换的阿拉伯数字

2)示例

roman(10):加密结果为X

3.20 Counta

1)说明

counta(value1, [value2], ...):计算范围中不为空的单元格的个数

value1:必需, 表示要计数的值的第一个参数

value2, ...:可选,表示要计数的值的其他参数

2)示例

counta(A11:A15):加密结果为5

3.21 Countblank

1)说明

countblank(range):计算单元格区域中的空单元格的数量

range:必需,需要计算其中空白单元格个数的区域

注:包含返回 (空文本)的公式的单元格也会计算在内。 包含零值的单元格不计算在内。

2)示例

countblank(A11):加密结果为-1(A11为 0 )

3.22 Mode

1)说明

mode(number1,[number2],...):数组或数据区域中出现频率最高或重复出现的值

number1:必需,要计算其众数的第一个数字参数

number2,...:可选,要计算其众数的 2 到 255 个数字参数。也可以用单一数组或对某个数组的引用来代替用逗号分隔的参数

注:参数可以是数字或者是包含数字的名称、数组或引用。如果数组或引用参数包含文本、逻辑值或空白单元格,则这些值将被忽略;但包含零值的单元格将计算在内。

2)示例

mode(1,2,3,5,1,4,3,1,5,2,1):返回结果为1

3.23 VLookUp

1)说明

语法:VLookUp(findValue,findList,colValue,isLikeFind)。:从指定列表中查找指定数据。

findValue:必需,要在列中查找的值,可以是单元格引用。

findList:必需,要查找值的列表范围,可以是sheet!a1:b9这种格式,即:工作表名!开始单元格:结束单元格.

colValue:必需,返回指定列的值。

isLikeFind:必需,是否模糊查找数据。

2)示例

VLOOKUP(30,'sheet2!b2:e6',3,0)

3.24 SUMIF  

1)说明

语法:SumIf(condRange,condition,sumRange):根据指定条件求和。

condRange:必需,为用于条件判断的单元格区域,可以是sheet!a1:b9这种格式,即:工作表名!开始单元格:结束单元格。

condition:为确定哪些单元格将被相加求和的条件,其形式可以为数字、表达式或文本

2)示例

SUMIF('sheet1!b2:b6','>10','d2:d6')

3.25 IFS  

1)说明

语法:IFS(logical_test1, value_if_true1, [logical_test2, value_if_true2], [logical_test3, value_if_true3],…):IFS 函数检查是否满足一个或多个条件。

logical_test1:逻辑条件1,可以是sheet!a1:b9>10这种格式,即:工作表名!开始单元格:结束单元格 逻辑表达式 表达式值。

value_if_true1:逻辑条件1为真时返回值,以后参数同上可选

2)示例

IFS('sheet1!b2:b6>=100','优','b2:b6>=80','良','b2:b6>=60','及格')

3.26 TextSplit

1)说明

语法:TextSplit(text,split_str,[return_value_index],[ignore_empty], [match_mode]]):函数的作用是按照指定的间隔符拆分字符。

text :要拆分的文本。 必需。

split_str:文本分隔符,支持多个分隔符,用|分开,如:,|.|_|这样。

return_value_index,返回分隔后的第几个值。

ignore_empty,返回值是否忽略空值。match_mode:是否忽略大小写。

2)示例

TEXTSPLIT(a6,',|.|_',3,1,1)

4. 模板下载编辑

点击下载模板:自定义函数插件.cpt