公式

公式是什么

公式是通过字段运算符号或(和)函数自动计算出结果的数据。 从而减少人工运算成本,避免人工录入错误。

比如要计算订单总费用,设置好公式:单价字段数量字段后,录入数据时,只需要填写单价和数量这两个字段,总费用就能根据公式自动计算出来。

下面对 HIPA 支持的函数作具体说明:



CONCATENATE

CONCATENATE()函数公式是连接字段与字段或字段与字符的公式,书写规范是使用半角逗号隔开字段或字符(字符需要用半角引号引用)。 类似这样:CONCATENATE({字段1}, "字符 ", {字段2}, {字段3}) 比如我们想快速在「销售线索跟踪」应用中查看公司的省份,就可以利用公式拼接「公司」和「省份」两个字段:CONCATENATE({公司名称}," - ",{省份})



DATETIME_DIFF

DATETIME_DIFF()函数公式是能够计算 2 个日期之间的差值。书写规范是 DATETIME_DIFF({结束日期}, {开始日期}, '时间单位') 其中,「'时间单位'」是返回值的单位,可输入以下单位: 秒:'s' 分钟:'m' 小时:'h' 天:'d' 周:'w' 月:'M'(以 30 天为一个月) 季度:'Q'(以 90 天为一个季度) 年:'y'(以 365 天为一年)

比如在「销售线索跟踪」应用中,想知道一个线索跟进了多久,就可以用DATETIME_DIFF({上次沟通时间},{最早沟通时间}, 'd')



NOW

NOW() 函数公式是返回当前的时间,通常和 DATETIME_DIFF() 函数一起使用。 比如我们获取当前线索时间进度,来对比沟通是否落后,可使用公式: DATETIME_DIFF(NOW(),{上次沟通时间}, 'd')



IF

IF() 函数公式是根据条件给出判断结果。书写规范是:IF(条件, 真值, 假值)

支持嵌套书写规范:

IF (条件1, IF(条件2, 条件2真值, 条件2假值), 条件1假值)

如判断水温,高于40度低于50度则显示数据为「刚刚好」,如果高于50度则显示数据为「太烫了」,如果低于40度则显示「太凉了」:

IF({水温} > 40, IF({水温} < 50, "刚刚好", "太烫了"), "太凉")

MOD

MOD函数公式是返回 num1 除以 num2 的余数。书写规范是:MOD (num1,num2)

比如对"3"除以2取余:

MOD (3,2)

-> 1

VALUE

VALUE函数公式是返回将 string 转为数字的值。书写规范是:VALUE(string) 主要应用于将文本字段进行数学运算,先要将该文本转为数字。

比如:

VALUE("100")*2

-> 200

LEFT

LEFT函数公式是返回 string 左边 n 个字符。书写规范是:LEFT(string,n)

比如:

LEFT("HIPA",2)

->HI

RIGHT

RIGHT函数公式是返回 string 右边 n 个字符。书写规范是:RIGHT(string,n)

比如:

RIGHT("HIPA",2)

->PA

MID

MID函数公式是返回 string 从 startnum 后 n 个字符。书写规范是:MID(string, startnum,n)

比如:

MID("HIPA",2,1)

-> P

DATETIME_PARSE

DATETIME_PARSE函数公式是返回字符串用 inputformat 格式、timezone 时区进行解析的日期,timezone可不填。书写规范是: ` DATETIMEPARSE`(string,input_format,timezone)

其中 input_format 格式:可输入 "YYYY","MM","DD","hh","mm","ss"

如:输入的日期为 20200818 23:59:59 则需要输入格式为"YYYYMMDD hh:mm:ss"

timezone 格式:

可输入 Olson 时区标识符(如: Asia/Shanghai );

UTC偏移量(+/-[hh]:[mm] 或 +/-[hh][mm] 或 +/-[hh]);

「Z」/「UTC」/「GMT」

比如:

DATETIME_PARSE(20200818 23:59:59,YYYYMMDD hh:mm:ss)

->2020-08-18 23:59:59

你还可以用DATETIME_PARSEMID得到身份证中的出生日期:

DATETIME_PARSE(MID({身份证号码},6,8))

NOT

NOT函数公式是条件为真时,返回0;条件为假时,返回1。书写规范是:NOT(logical)

比如:

NOT(90>60)

-> 0

AND

AND函数公式是表达式中都为真,则返回1;否则返回0。 书写规范是:AND(logical1,logical2...logical_n)

比如:

AND(90>60,50>60)

-> 0

OR

OR函数公式是只要表达式中至少一个为真,则返回1;否则返回0。 书写规范是:OR(logical1,logical2...logical_n)

比如:

OR(90>60,50>60)

-> 1

BLANK

BLANK函数公式参与逻辑运算,用于判断值是否为空 书写规范是:BLANK()

比如:

IF(""==BLANK(),"条件为空","条件不为空")

-> 条件为空

你可以用MODVALUEMIDBLANK函数取身份证号来判断性别和出生日期:

性别:

IF({身份证号码}!=BLANK(), IF(MOD(VALUE(RIGHT({身份证号码},1)),2)==1,

"👦🏻男","👧🏻女"),"未知")

DATEADD

DATEADD是将日期 date 增加 n 个 unit 的时间, unit 参数必须是区分大小写的 "s", "m", "h", "d", "w", "M", "Q", "y"。 如为日期 2020-01-20 10:00:00 增加 2 个月则输入公式 DATEADD(2020-01-20 10:00:00, 2, "M") 书写规范是:DATEADD(date, n, unit)

比如:

为日期 2020-01-20 10:00:00 增加 2 个月则输入公式

DATEADD(2020-01-20 10:00:00, 2, "M")

-> 2020-03-20 10:00:00

你可以用DATEADD动态计算截止日期,比如在一些续费时长场景时,续费方式提供月付、季付、半年付、年付,你可以通过计费的起始时间加上续费方式的时长,自动计算出过期时间。

公式如下:

IF({支付方式}!="月付",

IF({支付方式}!="季付",

IF({支付方式}!="半年付",

IF({支付方式}=="年付",

DATEADD({起始时间},1,"y"),DATEADD({起始时间},0,"y")),

DATEADD({起始时间},6,"M")),

DATEADD({起始时间},3,"M")),

DATEADD({起始时间},1,"M"))

MIN

MIN函数公式是返回输入数字中最小的数字。 书写规范是:MIN(num1,num2,...num_n)

比如:

MIN(1,2,5,4)

-> 1

MAX

MAX函数公式是返回输入数字中最大的数字。 书写规范是:MAX(num1,num2,...num_n)

比如:

MAX(1,2,5,4)

-> 5

SUM

SUM函数公式是返回输入数字的和。 书写规范是:SUM(num1,num2,...num_n)

比如:

SUM(1,2,5,4)

-> 12

AVERAGE

AVERAGE函数公式是返回输入数字的平均值。 书写规范是:AVERAGE(num1,num2,...num_n)

比如:

AVERAGE(1,2,5,4)

-> 3

ABS

ABS函数公式是返回输入数字的绝对值。 书写规范是:ABS(number)

比如:

ABS(-2)

-> 2

CEILING

CEILING函数公式是将输入数字向上取整。 书写规范是:CEILING(number)

比如:

CEILING(2.1)

-> 3

FLOOR

FLOOR函数公式是将输入数字向下取整。 书写规范是:FLOOR(number)

比如:

FLOOR(2.9)

-> 2

CREATED_TIME

CREATED_TIME() 函数公式是返回这条数据创建时间。

LASTMODIFIEDTIME

LAST_MODIFIED_TIME() 返回这条数据上次修改时间。



相关FAQ

为什么「公式」字段数据会显示 「#VALUE!」? 如果发现出现了 #VALUE 的显示:

可能是: 1. 公式所依赖字段被转换为不可计算的字段类型(如「数字」字段转换为「单行文本」字段) 2. 依赖的字段被删

请进入编辑字段设置,点击「保存」按钮,查看原因,检查所依赖的字段。

▲ 进入编辑字段设置,查看原因

▲ 找到依赖的字段

发现是因为 「有效期/月」 被修改为 「单行文本」 字段,所以不能参与计算。

最后更新时间: 11月12日 11:15