计算字段公式和函数

上次更新時間 2026年10月15日

使用字段引用、文字、运算符和函数来为 Adobe Acrobat Sign 中的计算字段构建公式。

在配置为值类型 > 计算的字段的公式属性中输入公式。此参考描述了可用于构建这些公式的表达式语法。

要配置字段本身,请参阅创建计算字段。

构建公式

公式可以包含以下一个或多个元素:

元素 适用场景 示例
字段引用 使用另一个字段的值 价格 * 数量
文字 包含固定数字、文本值或日期 总计 * 0.10
操作符 执行算术、比较或文本运算 小计 + 税费
函数 执行预定义的计算或逻辑运算 max(value1, value2)

公式也可以引用其他计算字段。

按名称引用字段

使用字段名称在公式中引用其值。

例如:

价格 * 数量

使用名为 price 和 quantity 的字段的值。

如果字段名称包含空格,请用方括号括起完整名称:

[单价] * 数量

使用有意义、唯一的字段名称,这样公式在表单更改时仍能保持易懂性。

有关字段名称要求,请参阅表单字段属性。

使用字面值

字面值是直接包含在公式中的固定值。

示例包括:

  • 数字:10
  • 文本:“已批准”
  • 受支持日期函数使用的日期

将文本字符串用单引号或双引号括起来。

例如:

“已批准”

字面值可与字段、运算符和函数组合使用。

受支持的运算符

使用运算符执行计算、组合文本或比较值。

操作符 运算
+ 添加
- 减去
/ 分隔
* 正片叠底
& 组合文本字符串
= 等于
!= 不等于
< 小于号
<= 小于或等于
> 大于号
>= 大于或等于
% 返回除法后的余数
^ 将数值进行幂运算

比较运算符返回真或假结果,可在逻辑函数内使用。

例如:

总计 >= 1000

评估 total 的值是否至少为 1000。

数学函数

函数 结果
abs(number1) 返回某个数字的绝对值。
roundUp(number1) 将数字向上舍入。
roundDown(number1) 将数字向下舍入。
round(number1) 将数字舍入到最近的整数。
min(number1, number2) 返回两个数字中的较小值。
max(number1, number2) 返回两个数字中的较大值。

示例

max(Amount1, Amount2)

返回两个字段值中较大的值。

日期函数

函数 结果
datePart(part, date) 以整数形式返回日期的指定部分。
dateAdd(part, date, addition) 向日期添加指定数量的日期单位。使用负值进行减法运算。
dateDiff(part, date1, date2) 使用指定的日期部分返回两个日期之间的差值。
daysIn(part, date) 返回日期指定部分中的天数。
date(string) 将表示日期的文本值转化为可供其他函数使用的日期值。
now() 返回公式计算后得出的日期和时间。

日期部分值

在支持的日期函数中,将这些值用于 part 参数:

Value 日期或时间部分
y 年
q 季度
m 月
d 日
h 时
n 分
s 秒

示例

dateAdd("d", StartDate, 30)

为 StartDate 字段的值增加 30 天。

使用负数来计算较早的日期:

dateAdd("d", StartDate, -7)

逻辑函数

当计算值取决于一个或多个条件时,使用逻辑函数。

函数 结果
if(logical_test, value_if_true, value_if_false) 当测试为真时返回一个值,为假时返回另一个值。
and(logical1, logical2, ...) 仅当所有指定条件都为真时才返回真。
or(logical1, logical2, ...) 当至少有一个指定条件为真时返回真。
not(logical) 反转真或假的结果。
lookup(sourceField, values, default_value) 返回与来源字段关联的值,或在未找到匹配时返回默认值。

使用 if 在多个结果之间进行选择

例如:

if(Total >= 1000, "Approval required", "Approved")

当 Total 大于或等于 1000 时返回一个文本值,否则返回另一个文本值。

真和假的结果本身可以包含表达式。

组合逻辑测试(and、or、not)

当所有条件都必须为 true 时,使用 and:

and(Age >= 18, Consent = "Yes")

当任一条件为 true 时,使用 or:

or(State = "CA", State = "OR")

需要获取条件的相反结果时,使用 not:

not(Status = "Closed")

使用查找将一个值映射到另一个值

需要根据源值返回对应匹配值时,使用 lookup。

例如:

lookup(State, "CA=California,UT=Utah,WA=Washington", "Other")

当匹配存在时返回映射的状态名称,当不存在时返回 Other。

当源值来自定义的选择集合(如下拉列表或单选按钮字段)时,此功能非常有用。

公式示例

计算金额

数量 * [单价]

将数量乘以单价。

添加多个值

小计 + 税费 + 运费

将三个字段的值相加。

计算百分比

小计 * 税率

将一个字段乘以另一个字段中存储的费率。

有条件地返回值

if(quantity >= 10, [Unit price] * 0.9, [Unit price])

当数量达到定义的阈值时返回折扣值。

计算未来日期

dateAdd("m", StartDate, 12)

返回 StartDate 之后 12 个月的日期。

合并文本

RecipientName & " - " & Company

将字段值和文字文本合并为一个结果。

构建更易维护的公式

使用描述性字段名称,并在表单允许的范围内尽量简化相关计算。

审阅公式时,请确认:

  • 每个引用的字段都存在。
  • 字段名称与公式中使用的名称匹配。
  • 包含空格的字段用方括号括起来。
  • 文本字面量用引号括起来。
  • 函数包含必需的参数。
  • 计算字段针对预期的收件人输入产生预期值。

有关配置计算字段和格式化数字结果的信息,请参阅创建计算字段。