作者:杨雨虹  历史版本:1  最后编辑:杨雨虹  更新时间:2026-09-07 16:48

概述

在报表中,函数是计算的主要组成部分。

插入函数

  • 方法一:选中单元格,在菜单工具栏点击插入公式。

  • 方法二:右键单元格,点击【单元格元素】-【插入公式】

  • 方法三:选中单元格,在右侧属性面板选中【单元格元素】-【插入公式】

  • 方法四:双击单元格/插入文本,输入“=函数名()”,用法和excel相同,括号内可以是具体的数字、单元格号。

函数的基本用法

计算数值

弹出公式定义弹窗,在文本编辑框中输入公式,确定

预览结果:

计算数据列

【示例1】计算多个数据列的和,在空单元格输入=函数(单元格1,单元格2,单元格3)


预览结果:

【示例2】计算单个数据列的总和,即将该列数据相加。


预览结果:

【示例3】计算多个数据列的总和,即将多列数据相加。


预览结果:

  • 需要注意:显示值无法用于计算!

函数汇总

1. 数学函数

函数名 说明 用法 示例
ABS 获取一个数的绝对值 ABS(数字) ABS(-8)=8
AVG 计算一组数值的平均值 AVG(数值1,数值2,…) AVG(1,3)=2
CEIL 向上取整(同CEILING) CEIL(数字) CEIL(2.1)=3
CEILING 向上取整 CEILING(数字) CEILING(2.1)=3
CHN 数字转为中文大写 CHN(数字) CHN(123)=壹佰贰拾叁
COUNT 统计非空数据的条数 COUNT(值1,值2,…) COUNT(1,””,3)=2
COS 计算余弦值(参数为弧度) COS(弧度) COS(0)=1
COUNTIF 按条件统计满足条件的数量 COUNTIF(范围,条件) COUNTIF(A1:A10,”>60”)
DIVISION 除法运算,避免除零 DIVISION(被除数,除数) DIVISION(10,2)=5
EXPR 执行表达式计算 EXPR(表达式字符串) EXPR(“1+2*3”)=7
FIXED 数字格式化,保留指定小数位 FIXED(数字,小数位数) FIXED(3.1415,2)=3.14
INT 向下取整,舍弃小数部分 INT(数字) INT(2.9)=2
LARGE 取数据中第N大的值 LARGE(数据集,N) LARGE([1,5,3],2)=3
LOG 计算指定底数的对数 LOG(数字,底数) LOG(8,2)=3
LOG10 计算以10为底的对数 LOG10(数字) LOG10(100)=2
MAX 取一组数的最大值 MAX(数值1,数值2,…) MAX(2,7,1)=7
MEDIAN 计算一组数的中位数 MEDIAN(数值1,数值2,…) MEDIAN(1,2,3)=2
MIN 取一组数的最小值 MIN(数值1,数值2,…) MIN(2,7,1)=1
MOD 求两个数相除的余数 MOD(被除数,除数) MOD(7,3)=1
MODE 获取一组数的众数(出现频率最高) MODE(数值1,数值2,…) MODE([1,2,2,3])=2
POW 幂运算,求数字的N次方 POW(底数,指数) POW(2,3)=8
PRODUCT 计算多个数字的乘积 PRODUCT(数值1,数值2,…) PRODUCT(2,3,4)=24
RANDOM 生成0~1之间的随机小数 RANDOM() RANDOM()=0.623
RMB 数字转为人民币大写 RMB(数字) RMB(12.5)=人民币壹拾贰元伍角
ROUND 四舍五入保留指定小数位 ROUND(数字,小数位数) ROUND(3.145,2)=3.15
SIN 计算正弦值(参数弧度) SIN(弧度) SIN(PI()/2)=1
SMALL 取数据中第N小的值 SMALL(数据集,N) SMALL([1,5,3],2)=3
SQRT 计算平方根 SQRT(数字) SQRT(16)=4
STDEVP 计算总体标准差 STDEVP(数值1,数值2,…) STDEVP(1,2,3)=0.816
SUBTRACT 减法运算 SUBTRACT(被减数,减数) SUBTRACT(10,3)=7
SUM 对一组数值求和 SUM(数值1,数值2,…) SUM(1,2,3)=6
SUMPRODUCT 数组对应元素相乘后求和 SUMPRODUCT(数组1,数组2) SUMPRODUCT([1,2],[3,4])=11
VARA 计算样本方差(包含文本逻辑值) VARA(值1,值2,…) VARA(1,2,4)=2.333

2. 文本函数

函数名 说明 用法 示例
CHAR 根据字符编码返回对应字符 CHAR(编码数字) CHAR(65)=A
CONCAT 拼接多个文本字符串 CONCAT(文本1,文本2,…) CONCAT(“Hello”,”World”)=HelloWorld
EXACT 区分大小写比较两个文本是否完全相等,相等返回true,否则false EXACT(文本1,文本2) EXACT(“Abc”,”abc”)=false
INDEXOF 查找子字符串首次出现的索引位置,未找到返回-1 INDEXOF(原文本,查找文本) INDEXOF(“abcde”,”cd”)=2
ISEMPTY 判断内容是否为空,为空返回true,不为空返回false ISEMPTY(值) ISEMPTY(“”)=true
LEFT 从文本左侧截取指定长度字符 LEFT(文本,截取长度) LEFT(“ABCD”,2)=AB
LENGTH 获取文本字符串的字符长度 LENGTH(文本) LENGTH(“测试”)=2
LOWER 将英文全部转为小写 LOWER(文本) LOWER(“ABC”)=abc
MID 从指定起始位置截取指定长度的文本 MID(文本,起始位置,截取长度) MID(“ABCDE”,2,2)=BC
REPLACE 替换字符串中指定位置的字符为新文本 REPLACE(原文本,起始位置,替换长度,新文本) REPLACE(“ABCD”,2,2,”XX”)=AXXD
REPT 将文本重复指定次数 REPT(文本,重复次数) REPT(“A”,3)=AAA
RIGHT 从文本右侧截取指定长度字符 RIGHT(文本,截取长度) RIGHT(“ABCD”,2)=CD
SEARCH 查找子字符串的起始位置(不区分大小写) SEARCH(查找文本,原文本) SEARCH(“bc”,”ABCD”)=2
SPLIT 按分隔符将文本拆分为数组 SPLIT(文本,分隔符) SPLIT(“a,b,c”,”,”)=[“a”,”b”,”c”]
SUBSTRING 截取字符串,从起始索引到结束索引 SUBSTRING(文本,起始索引,结束索引) SUBSTRING(“ABCDE”,1,3)=BC
TAN 计算正切值(参数为弧度) TAN(弧度) TAN(0)=0
TEXT 将数字按指定格式转为文本 TEXT(数字,格式串) TEXT(123,”0.00”)=123.00
TRIM 去除文本首尾空格 TRIM(文本) TRIM(“ abc “)=abc
UPPER 将英文全部转为大写 UPPER(文本) UPPER(“abc”)=ABC
VALUE 将文本格式数字转为数值 VALUE(文本数字) VALUE(“123”)=123

3. 日期函数

函数名 说明 用法 示例
DATE 根据年月日生成日期对象 DATE(年,月,日) DATE(2026,8,17)=2026‑08‑17
DATEDELTA 对日期做增减偏移(加减年月日时分秒) DATEDELTA(原日期,偏移量,单位) DATEDELTA(TODAY(),1,”day”)=明日日期
DAY 获取日期中的“日”部分(1‑31) DAY(日期) DAY(DATE(2026,8,17))=17
DAYS 计算两个日期相差的总天数 DAYS(结束日期,开始日期) DAYS(“2026‑08‑20”,”2026‑08‑17”)=3
DAYS360 按一年360天规则计算两日期间隔天数 DAYS360(开始日期,结束日期) DAYS360(“2026‑01‑01”,”2026‑03‑31”)=89
EDATE 返回指定日期前后N个月的日期 EDATE(日期,月数) EDATE(“2026‑08‑17”,1)=2026‑09‑17
HOUR 获取时间中的小时部分(0‑23) HOUR(时间) HOUR(NOW())=14
ISOWEEKNUM 获取日期对应的ISO标准周序号 ISOWEEKNUM(日期) ISOWEEKNUM(“2026‑01‑05”)=2
MINUTE 获取时间的分钟部分(0‑59) MINUTE(时间) MINUTE(NOW())=30
MONTH 获取日期的月份(1‑12) MONTH(日期) MONTH(“2026‑08‑17”)=8
NOW 获取系统当前日期+时间 NOW() NOW()=2026‑08‑17 14:30:00
SECOND 获取时间的秒数部分(0‑59) SECOND(时间) SECOND(NOW())=20
SYSTIME 获取系统当前时间戳/系统时间 SYSTIME() SYSTIME()=1786985400000
TIME 根据时分秒生成时间对象 TIME(时,分,秒) TIME(9,30,0)=09:30:00
TIMESTAMP 日期时间转为时间戳(毫秒) TIMESTAMP(日期) TIMESTAMP(“2026‑08‑17”)=1786924800000
TODAY 获取系统当前日期(不带时分秒) TODAY() TODAY()=2026‑08‑17
WEEK 获取日期为星期几(1‑7,周一为1) WEEK(日期) WEEK(“2026‑08‑17”)=1
WEEKNUM 获取日期属于本年的第几周 WEEKNUM(日期) WEEKNUM(“2026‑08‑17”)=33
YEAR 获取日期的年份 YEAR(日期) YEAR(“2026‑08‑17”)=2026
FORMAT 日期/数字按格式转为文本 FORMAT(值,格式模板) FORMAT(TODAY(),”yyyy‑MM‑dd”)=”2026‑08‑17”
PARSE 将文本解析转换为日期对象 PARSE(日期文本) PARSE(“2026‑08‑17”)=日期对象

4. 逻辑函数

函数名 说明 用法 示例
GETAND 逻辑与,全部条件为真返回true,否则false GETAND(条件1,条件2,…) GETAND(1>0,2>1)=true
GETFALSE 返回布尔假值false GETFALSE() GETFALSE()=false
GETIF 条件判断,条件成立返回真值,不成立返回假值 GETIF(条件,真值,假值) GETIF(5>3,”是”,”否”)=是
GETNOT 逻辑非,对布尔值取反 GETNOT(条件) GETNOT(1>0)=false
GETOR 逻辑或,任意一个条件为真返回true,否则false GETOR(条件1,条件2,…) GETOR(1>5,2>1)=true
GETTRUE 返回布尔真值true GETTRUE() GETTRUE()=true
GETXOR 异或逻辑,两个条件真假不一致返回true,一致返回false GETXOR(条件1,条件2) GETXOR(1>0,2>5)=true

5. 高级函数

函数名 说明 用法 示例
UUID 生成全局唯一UUID字符串 UUID() UUID()=”550e8400‑e29b‑41d4‑a716‑446655440000”
SEQ 生成自增长序列编号 SEQ(序列标识) SEQ(“order”)=1、2、3依次递增

6. 表格函数

函数名 说明 用法 示例
COLUMN 获取当前单元格所在列序号 COLUMN() COLUMN()=2
FLOOR 向下取整,向数值更小方向取整数 FLOOR(数字) FLOOR(3.9)=3
FORMATDATE 将日期按指定格式转为文本 FORMATDATE(日期,格式模板) FORMATDATE(TODAY(),”yyyy‑MM‑dd”)=”2026‑08‑17”
FORMATNUMBER 数字格式化,设置小数、千分位等 FORMATNUMBER(数字,格式) FORMATNUMBER(1234.56,”#,##0.00”)=”1,234.56”
LIST 构建数组/列表集合 LIST(值1,值2,…) LIST(10,20,30)=[10,20,30]
ORDER 数据排序,指定字段与升降序 ORDER(数据集,排序字段,排序方向) ORDER(table,”amount”,”desc”)
PAGE 获取当前页码 PAGE() PAGE()=1
PAGES 获取总页数 PAGES() PAGES()=5
PCOUNT 分页统计,统计分页内数据行数 PCOUNT(数据集) PCOUNT(table)=20
PMAX 分页范围内求最大值 PMAX(数据集,字段) PMAX(table,”score”)=99
PMIN 分页范围内求最小值 PMIN(数据集,字段) PMIN(table,”score”)=60
PSUM 分页范围内求和 PSUM(数据集,字段) PSUM(table,”amount”)=12000
ROW 获取当前行序号 ROW() ROW()=5