@rezti/dsh-rez-suite 0.1.49 → 0.1.51

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (142) hide show
  1. package/CHANGELOG.md +13 -2
  2. package/README.md +3 -3
  3. package/README.zh.md +2 -2
  4. package/cordis.patch.yml +1 -1
  5. package/lib/client.d.ts +31 -3
  6. package/lib/client.js +343 -7
  7. package/lib/index.js +244 -15
  8. package/lib/style.css +7 -0
  9. package/package.json +12 -11
  10. package/src/boss/mount.ts +4 -3
  11. package/src/boss/register.ts +1 -1
  12. package/src/boss/seed.ts +34 -0
  13. package/src/changelog.ts +48 -0
  14. package/src/channel-board.ts +55 -0
  15. package/src/client/locales.ts +62 -6
  16. package/src/client/panel/BoardTab.tsx +136 -0
  17. package/src/client/panel/ConfigTab.tsx +2 -2
  18. package/src/client/panel/StatusTab.tsx +31 -0
  19. package/src/client/panel/panel.module.css +7 -0
  20. package/src/client/settings-card.tsx +4 -1
  21. package/src/index.ts +3 -2
  22. package/src/protocol.ts +14 -0
  23. package/src/routes.ts +7 -1
  24. package/src/tools.ts +49 -6
  25. package/src/wecom-cli.ts +125 -0
  26. package/templates/boss/ops/AGENTS.md +2 -0
  27. package/templates/shared/wecom-cli.SOURCE.md +9 -0
  28. package/templates/shared/wecom-office/SKILL.md +32 -0
  29. package/templates/shared/wecomcli-calendar/SKILL.md +303 -0
  30. package/templates/shared/wecomcli-calendar/references/calendar-agenda.md +224 -0
  31. package/templates/shared/wecomcli-calendar/references/calendar-cancel.md +108 -0
  32. package/templates/shared/wecomcli-calendar/references/calendar-create.md +238 -0
  33. package/templates/shared/wecomcli-calendar/references/calendar-freebusy.md +207 -0
  34. package/templates/shared/wecomcli-calendar/references/calendar-meeting-room.md +170 -0
  35. package/templates/shared/wecomcli-calendar/references/calendar-search.md +206 -0
  36. package/templates/shared/wecomcli-calendar/references/calendar-update.md +272 -0
  37. package/templates/shared/wecomcli-contact/SKILL.md +58 -0
  38. package/templates/shared/wecomcli-disk/SKILL.md +389 -0
  39. package/templates/shared/wecomcli-doc/SKILL.md +137 -0
  40. package/templates/shared/wecomcli-doc/references/doc-contents-append.md +20 -0
  41. package/templates/shared/wecomcli-doc/references/doc-contents-overwrite.md +27 -0
  42. package/templates/shared/wecomcli-doc/references/doc-create.md +161 -0
  43. package/templates/shared/wecomcli-doc/scripts/build_docx.py +1375 -0
  44. package/templates/shared/wecomcli-doc-manage/SKILL.md +132 -0
  45. package/templates/shared/wecomcli-doc-manage/references/doc-members-update.md +24 -0
  46. package/templates/shared/wecomcli-doc-manage/references/doc-names-update.md +20 -0
  47. package/templates/shared/wecomcli-doc-manage/references/doc-rules-update.md +22 -0
  48. package/templates/shared/wecomcli-email/SKILL.md +218 -0
  49. package/templates/shared/wecomcli-email/references/forward-mail.md +131 -0
  50. package/templates/shared/wecomcli-email/references/get-mail.md +166 -0
  51. package/templates/shared/wecomcli-email/references/reply-mail.md +138 -0
  52. package/templates/shared/wecomcli-email/references/search-mail.md +111 -0
  53. package/templates/shared/wecomcli-email/references/security.md +53 -0
  54. package/templates/shared/wecomcli-email/references/send-mail.md +186 -0
  55. package/templates/shared/wecomcli-email/references/send-schedule.md +83 -0
  56. package/templates/shared/wecomcli-media/SKILL.md +98 -0
  57. package/templates/shared/wecomcli-meeting/SKILL.md +373 -0
  58. package/templates/shared/wecomcli-meeting/references/meeting-cancel.md +113 -0
  59. package/templates/shared/wecomcli-meeting/references/meeting-create.md +167 -0
  60. package/templates/shared/wecomcli-meeting/references/meeting-list.md +226 -0
  61. package/templates/shared/wecomcli-meeting/references/meeting-original-get.md +98 -0
  62. package/templates/shared/wecomcli-meeting/references/meeting-search.md +173 -0
  63. package/templates/shared/wecomcli-meeting/references/meeting-update.md +217 -0
  64. package/templates/shared/wecomcli-message/SKILL.md +200 -0
  65. package/templates/shared/wecomcli-shared/SKILL.md +73 -0
  66. package/templates/shared/wecomcli-sheet/SKILL.md +172 -0
  67. package/templates/shared/wecomcli-sheet/references/sheet-contents-update.md +47 -0
  68. package/templates/shared/wecomcli-sheet/references/sheet-ranges-get.md +45 -0
  69. package/templates/shared/wecomcli-sheet/references/sheet-rows-append.md +45 -0
  70. package/templates/shared/wecomcli-sheet/references/sheet-subsheets-add.md +26 -0
  71. package/templates/shared/wecomcli-sheet/references/sheet-subsheets-delete.md +20 -0
  72. package/templates/shared/wecomcli-smartpage/SKILL.md +170 -0
  73. package/templates/shared/wecomcli-smartpage/references/data-driven-pages.md +50 -0
  74. package/templates/shared/wecomcli-smartpage/references/formula/arraylist.md +369 -0
  75. package/templates/shared/wecomcli-smartpage/references/formula/datetime.md +283 -0
  76. package/templates/shared/wecomcli-smartpage/references/formula/logic.md +247 -0
  77. package/templates/shared/wecomcli-smartpage/references/formula/math.md +362 -0
  78. package/templates/shared/wecomcli-smartpage/references/formula/operators.md +246 -0
  79. package/templates/shared/wecomcli-smartpage/references/formula/pageblock.md +76 -0
  80. package/templates/shared/wecomcli-smartpage/references/formula/templates.md +410 -0
  81. package/templates/shared/wecomcli-smartpage/references/formula/text.md +377 -0
  82. package/templates/shared/wecomcli-smartpage/references/formula/user.md +22 -0
  83. package/templates/shared/wecomcli-smartpage/references/formula-reference.md +192 -0
  84. package/templates/shared/wecomcli-smartpage/references/mdx-syntax.md +739 -0
  85. package/templates/shared/wecomcli-smartpage/references/smartpage-edit.md +506 -0
  86. package/templates/shared/wecomcli-smartsheet/SKILL.md +154 -0
  87. package/templates/shared/wecomcli-smartsheet/assets/templates/README.md +53 -0
  88. package/templates/shared/wecomcli-smartsheet/assets/templates/ai_efficiency.md +709 -0
  89. package/templates/shared/wecomcli-smartsheet/assets/templates/connect_to_app.md +380 -0
  90. package/templates/shared/wecomcli-smartsheet/assets/templates/financial_accounting.md +369 -0
  91. package/templates/shared/wecomcli-smartsheet/assets/templates/hr_and_administration.md +475 -0
  92. package/templates/shared/wecomcli-smartsheet/assets/templates/ledger_records.md +156 -0
  93. package/templates/shared/wecomcli-smartsheet/assets/templates/manufacturing.md +395 -0
  94. package/templates/shared/wecomcli-smartsheet/assets/templates/marketing.md +186 -0
  95. package/templates/shared/wecomcli-smartsheet/assets/templates/office_essentials.md +299 -0
  96. package/templates/shared/wecomcli-smartsheet/assets/templates/personal_efficiency.md +70 -0
  97. package/templates/shared/wecomcli-smartsheet/assets/templates/procurement_logistics.md +325 -0
  98. package/templates/shared/wecomcli-smartsheet/assets/templates/project_management.md +564 -0
  99. package/templates/shared/wecomcli-smartsheet/assets/templates/rd_process_customer.md +222 -0
  100. package/templates/shared/wecomcli-smartsheet/assets/templates/rd_process_ops.md +105 -0
  101. package/templates/shared/wecomcli-smartsheet/assets/templates/rd_process_project.md +109 -0
  102. package/templates/shared/wecomcli-smartsheet/assets/templates/rd_process_research.md +92 -0
  103. package/templates/shared/wecomcli-smartsheet/assets/templates/sales_and_operations.md +446 -0
  104. package/templates/shared/wecomcli-smartsheet/assets/templates/store_management.md +431 -0
  105. package/templates/shared/wecomcli-smartsheet/assets/templates/team_tasks.md +274 -0
  106. package/templates/shared/wecomcli-smartsheet/assets/templates/wechat_customer.md +384 -0
  107. package/templates/shared/wecomcli-smartsheet/assets/templates/work_report.md +100 -0
  108. package/templates/shared/wecomcli-smartsheet/references/common.md +143 -0
  109. package/templates/shared/wecomcli-smartsheet/references/smart-sheet-chart-types.md +95 -0
  110. package/templates/shared/wecomcli-smartsheet/references/smart-sheet-edit.md +589 -0
  111. package/templates/shared/wecomcli-smartsheet/references/smart-sheet-field-types.md +438 -0
  112. package/templates/shared/wecomcli-smartsheet/references/smart-sheet-formula.md +845 -0
  113. package/templates/shared/wecomcli-smartsheet/references/smart-sheet-read.md +391 -0
  114. package/templates/shared/wecomcli-smartsheet/references/smart-sheet-record-values.md +201 -0
  115. package/templates/shared/wecomcli-smartsheet/references/smart-sheet-view-types.md +356 -0
  116. package/templates/shared/wecomcli-smartsheet/references/smart-sheet-webhook-examples.md +176 -0
  117. package/templates/shared/wecomcli-smartsheet/references/smart-sheet-webhook.md +169 -0
  118. package/templates/shared/wecomcli-todo/SKILL.md +76 -0
  119. package/templates/shared/wecomcli-todo/references/todo-create.md +137 -0
  120. package/templates/shared/wecomcli-todo/references/todo-delete.md +63 -0
  121. package/templates/shared/wecomcli-todo/references/todo-finish.md +72 -0
  122. package/templates/shared/wecomcli-todo/references/todo-get.md +66 -0
  123. package/templates/shared/wecomcli-todo/references/todo-list.md +133 -0
  124. package/templates/shared/wecomcli-todo/references/todo-update.md +112 -0
  125. package/templates/staff/design/AGENTS.md +2 -1
  126. package/templates/staff/ecommerce/.agents/skills/ops-ecommerce/SKILL.md +6 -0
  127. package/templates/staff/ecommerce/AGENTS.md +49 -0
  128. package/templates/staff/ecommerce/BOOTSTRAP.md +23 -0
  129. package/templates/staff/ecommerce/IDENTITY.md +8 -0
  130. package/templates/staff/ecommerce/MEMORY.md +9 -0
  131. package/templates/staff/ecommerce/PRIORITIES.md +3 -0
  132. package/templates/staff/ecommerce/SOUL.md +5 -0
  133. package/templates/staff/ecommerce/USER.md +8 -0
  134. package/templates/staff/hr/.agents/skills/staff-onboard-keys/SKILL.md +3 -3
  135. package/templates/staff/publish/.agents/skills/ops-publish/SKILL.md +6 -0
  136. package/templates/staff/publish/AGENTS.md +59 -0
  137. package/templates/staff/publish/BOOTSTRAP.md +23 -0
  138. package/templates/staff/publish/IDENTITY.md +8 -0
  139. package/templates/staff/publish/MEMORY.md +9 -0
  140. package/templates/staff/publish/PRIORITIES.md +3 -0
  141. package/templates/staff/publish/SOUL.md +6 -0
  142. package/templates/staff/publish/USER.md +8 -0
@@ -0,0 +1,247 @@
1
+ # 逻辑判断公式函数(`AND`, `FALSE`, `IF`, `IFBLANK`, `IFERROR`, `IFS`, `ISBLANK`, `ISERROR`, `ISNULL`, `NOT`, `OR`, `SWITCH`, `TRUE`)
2
+
3
+ > 用于条件判断、状态标记、错误处理、空值处理等逻辑控制,适用于数据校验、状态显示、条件渲染等场景。
4
+
5
+ ---
6
+
7
+ ## AND - 逻辑与
8
+
9
+ **表达式**: `AND(逻辑表达式1, [逻辑表达式2, ...])`
10
+
11
+ **函数说明**: 使用 AND 函数,它是一个逻辑函数,用于确定测试中的所有条件是否均为 TRUE。所有参数的计算结果为 TRUE 时,AND 函数返回 TRUE;只要有一个参数的计算结果为 FALSE,即返回 FALSE。
12
+
13
+ [警告] **不能使用 && 运算符**:公式系统不支持 JavaScript 的 && 运算符,必须使用 AND() 函数
14
+
15
+ **参数说明**: 逻辑表达式1:必填, 一个表达式或对包含表达式字段的引用,代表某种逻辑值,即 TRUE 或 FALSE。
16
+
17
+ **示例**:
18
+ ```
19
+ [正例] AND(2>1, 92>100)
20
+ [正例] AND([Each].[状态]="已完成", [Each].[金额]>1000)
21
+
22
+ [反例] 2>1 && 92>100 // 不支持 &&
23
+ [反例] [状态]="已完成" && [金额]>1000 // 不支持 &&
24
+ [反例] [状态]="已完成" AND [金额]>1000 // AND不能写在条件中间!
25
+ ```
26
+
27
+ ---
28
+
29
+ ## FALSE - 假值
30
+
31
+ **表达式**: `FALSE()`
32
+
33
+ **函数说明**: 返回逻辑值FALSE。
34
+
35
+ **参数说明**: FALSE函数语法没有参数
36
+
37
+ **示例**:
38
+ ```
39
+ FALSE() => FALSE
40
+ ```
41
+
42
+ ---
43
+
44
+ ## IF - 简单条件
45
+
46
+ **表达式**: `IF(逻辑表达式, 为 TRUE 时的返回值, [为 FALSE 时的返回值])`
47
+
48
+ **函数说明**: 当逻辑表达式结果为TRUE时返回一个值,为FALSE时返回一个值。
49
+
50
+ **参数说明**:
51
+ - 逻辑表达式:一个表达式或对包含表达式字段的引用,代表某种逻辑值,即 TRUE 或 FALSE
52
+ - 为 TRUE 时的返回值:当"逻辑表达式"为 TRUE 时的返回值
53
+ - [为 FALSE 时的返回值]:当"逻辑表达式"为 FALSE 时的返回值
54
+
55
+ **示例**:
56
+ ```
57
+ IF([是否完成]="是",1,2) ,表示如果是否完成等于是,则返回 1, 否则返回 2。
58
+ IF([分数] >= 60, "及格", "不及格")
59
+ IF([金额] > 10000, "大客户", "普通客户")
60
+ IF([分数] >= 90, "优秀", IF([分数] >= 60, "及格", "不及格"))
61
+ ```
62
+
63
+ ---
64
+
65
+ ## IFBLANK - 空值判断
66
+
67
+ **表达式**: `IFBLANK(值, 空值情况的返回值)`
68
+
69
+ **函数说明**: 检测目标值是否为空,为空则返回第二个参数对应的值,非空则返回值本身
70
+
71
+ **参数说明**:
72
+ - 值: 必需。 非空时返回的值
73
+ - 空值情况返回的值:值为空返回的值
74
+
75
+ **示例**:
76
+ ```
77
+ IFBLANK([商品名称],"未登记") => 商品名称
78
+ 商品名称为空,则返回"未登记"
79
+ IFBLANK([备注], "无备注")
80
+ ```
81
+
82
+ ---
83
+
84
+ ## IFERROR - 错误处理
85
+
86
+ **表达式**: `IFERROR(值, 错误情况的返回值)`
87
+
88
+ **函数说明**: 检查目标值是否错误,如果错误,则返回指定的值;否则返回值的结果。 使用IFERROR函数可捕获和处理公式中的错误。
89
+
90
+ **参数说明**:
91
+ - 值:必需。检查是否存在错误的参数
92
+ - 错误情况的返回值:必需。公式的计算结果错误时返回的值
93
+
94
+ **示例**:
95
+ ```
96
+ IFERROR([总价]/[数量],"计算中有错误") => "计算中有错误"
97
+ IFERROR([金额] / [数量], 0)
98
+ ```
99
+
100
+ ---
101
+
102
+ ## IFS - 多条件判断
103
+
104
+ **表达式**: `IFS(条件1, 值1, [条件2, ...], [值2, ...])`
105
+
106
+ **函数说明**: 判断是否满足一个或多个条件并返回第一个 TRUE 条件对应的结果。适合多个条件判断,比嵌套IF()可读性更好
107
+
108
+ **参数说明**:
109
+ - 条件1:判断的第一个条件
110
+ - 值1:条件1结果为TRUE时返回的值
111
+ - 条件2:条件1结果为FALSE时,继续判断的条件
112
+ - 值2:条件2结果为TRUE时返回的值
113
+
114
+ **示例**:
115
+ ```
116
+ IFS([分数]>=80,"优秀",[分数]>=70,"良好",[分数]>=60,"及格",TRUE,"不及格")
117
+ IFS([分数] >= 90, "优秀", [分数] >= 70, "良好", [分数] >= 60, "及格", TRUE, "不及格")
118
+ ```
119
+
120
+ ---
121
+
122
+ ## ISBLANK - 空值判断
123
+
124
+ **表达式**: `ISBLANK(值)`
125
+
126
+ **函数说明**: 检测参数值是否为空,为空则返回逻辑值 TRUE;否则,返回 FALSE。
127
+
128
+ **参数说明**: 值: 必需,检测值是否为空的字段
129
+
130
+ **示例**:
131
+ ```
132
+ ISBLANK([名称]) => TRUE
133
+ ISBLANK("")=>TRUE
134
+ IF(ISBLANK([手机号]), "未填写", "已填写")
135
+ ```
136
+
137
+ ---
138
+
139
+ ## ISERROR - 错误判断
140
+
141
+ **表达式**: `ISERROR(值)`
142
+
143
+ **函数说明**: 检测参数值是否为错误值,错误值则返回逻辑值 TRUE;否则,返回 FALSE。
144
+
145
+ **参数说明**: 值: 必需,检测值是否为错误的字段
146
+
147
+ **示例**:
148
+ ```
149
+ ISERROR(2/0) => TRUE
150
+ IF(ISERROR([金额] / [数量]), "计算错误", [金额] / [数量])
151
+ ```
152
+
153
+ ---
154
+
155
+ ## ISNULL - 空值判断
156
+
157
+ **表达式**: `ISNULL(值)`
158
+
159
+ **函数说明**: 检测参数值内容是否为空,为空则返回逻辑值 TRUE;否则,返回 FALSE。空字符串不为空
160
+
161
+ **参数说明**: 值: 必需,检测值是否为空的字段
162
+
163
+ **示例**:
164
+ ```
165
+ // 页面上
166
+ ISNULL([数据表.文本]) => FALSE // 该字段有记录且非空
167
+ ISNULL([页面.输入框]) => FALSE // 控件有值
168
+
169
+ // 当前行
170
+ ISNULL([文本]) => TRUE // 当前行该字段为空
171
+ ISNULL("") => FALSE // 空字符串 "" 在 ISNULL 语义下不视为空(与 ISBLANK 不同)
172
+ ```
173
+
174
+ > ISNULL 与 ISBLANK 区别:ISBLANK 认为 `""` 是空,返回 TRUE;ISNULL 不认为 `""` 是空,返回 FALSE。
175
+
176
+ ---
177
+
178
+ ## NOT - 逻辑非
179
+
180
+ **表达式**: `NOT(逻辑表达式)`
181
+
182
+ **函数说明**: 对参数的逻辑值取反。如果逻辑为 FALSE,NOT 将返回 TRUE;如果逻辑为 TRUE,NOT 将返回 FALSE。
183
+
184
+ **参数说明**: 逻辑表达式:必需,计算结果为 TRUE 或 FALSE 的任何值或表达式
185
+
186
+ **示例**:
187
+ ```
188
+ NOT(92>100) => TRUE
189
+ NOT([已完成])
190
+ ```
191
+
192
+ ---
193
+
194
+ ## OR - 逻辑或
195
+
196
+ **表达式**: `OR(逻辑表达式1, [逻辑表达式2, ...])`
197
+
198
+ **函数说明**: 使用 OR 函数,它是一个逻辑函数,用于确定测试中的所有条件是否均为 FALSE。所有参数的计算结果为 FALSE 时,OR 函数返回 FALSE;只要有一个参数的计算结果为 TRUE,即返回 TRUE。
199
+
200
+ [警告] **不能使用 || 运算符**:公式系统不支持 JavaScript 的 || 运算符,必须使用 OR() 函数
201
+
202
+ **参数说明**: 逻辑表达式1:必填,一个表达式或对包含表达式字段的引用,代表某种逻辑值,即 TRUE 或 FALSE。
203
+
204
+ **示例**:
205
+ ```
206
+ [正例] OR(2>1, 92<100)
207
+ [正例] OR([状态]="高优先级", [状态]="紧急")
208
+
209
+ [反例] 2>1 || 92<100 // 不支持 ||
210
+ [反例] [状态]="高优先级" || [状态]="紧急" // 不支持 ||
211
+ ```
212
+
213
+ ---
214
+
215
+ ## SWITCH - 条件匹配
216
+
217
+ **表达式**: `SWITCH(表达式, 值1, 结果1, [值2, ...], [结果2, ...])`
218
+
219
+ **函数说明**: 通过和表达式结果比较,按照匹配结果返回对应的值,如果不匹配,则返回可选默认值
220
+
221
+ **参数说明**:
222
+ - 表达式:输出结果的值,可以是一个字段
223
+ - 值1:和表达式结果进行匹配的值
224
+ - 结果1:值1和表达式结果匹配后返回的值
225
+ - 值2:值1和表达式结果不匹配的时候,则和值2 进行匹配
226
+
227
+ **示例**:
228
+ ```
229
+ SWITCH([日期],1,"周日",2,"周一","不匹配") => 周一 //如果WEEKDAY([日期])的结果为1,则返回周日,结果等于2则返回周一,否则返回"不匹配"。
230
+ SWITCH([状态], "1", "待处理", "2", "进行中", "3", "已完成", "未知")
231
+ ```
232
+
233
+ ---
234
+
235
+ ## TRUE - 真值
236
+
237
+ **表达式**: `TRUE()`
238
+
239
+ **函数说明**: 返回逻辑值TRUE。
240
+
241
+ **参数说明**: TRUE函数语法没有参数
242
+
243
+ **示例**:
244
+ ```
245
+ TRUE() => TRUE
246
+ IF([已完成] = TRUE, "完成", "进行中")
247
+ ```
@@ -0,0 +1,362 @@
1
+ # 公式数学计算函数 - ABS, AVERAGE, CEILING, COUNT, COUNTA, COUNTIF, EXP, FLOOR, INT, LOG, MAX, MIN, POWER, RAND, ROUND, ROUNDUP, SQRT, SUM, SUMIF, VALUE
2
+
3
+ > 用于数值计算、统计汇总、平均值、最大最小值、四舍五入等数学运算,适用于金额计算、统计分析、数据汇总等场景。
4
+
5
+ ---
6
+
7
+ ## 基本运算
8
+
9
+ [字段A] + [字段B] 加法
10
+ [字段A] - [字段B] 减法
11
+ [字段A] * [字段B] 乘法
12
+ [字段A] / [字段B] 除法
13
+
14
+ **示例**:
15
+
16
+ [单价] * [数量] 计算总价
17
+ ([收入] - [支出]) / [收入] 计算利润率
18
+
19
+ ---
20
+
21
+ ## ABS - 绝对值
22
+
23
+ **表达式**: `ABS(数值)`
24
+
25
+ **函数说明**: 返回数值的绝对值。
26
+
27
+ **参数说明**: 数值:必需, 需要计算其绝对值的数值。
28
+
29
+ **示例**:
30
+ ```
31
+ ABS(-2) => 2
32
+ ABS([实际值] - [目标值]) 计算偏差的绝对值
33
+ ```
34
+
35
+ ---
36
+
37
+ ## AVERAGE - 平均值
38
+
39
+ **表达式**: `AVERAGE(值1, [值2, ...])`
40
+
41
+ **函数说明**: 计算一组值的平均值。
42
+
43
+ **参数说明**: 数值1:数值1是必需的,后续数值是可选的,要从中查找平均值。
44
+
45
+ **示例**:
46
+ ```
47
+ AVERAGE(2,3,3,5,7,10) => 5
48
+ [成绩表.分数].AVERAGE()
49
+ ```
50
+
51
+ ---
52
+
53
+ ## CEILING - 向上舍入
54
+
55
+ **表达式**: `CEILING(数值, 舍入基数)`
56
+
57
+ **函数说明**: 返回将参数值向上舍入(沿绝对值增大的方向)为最接近的指定舍入基数的倍数。
58
+
59
+ **参数说明**:
60
+ - 数值:必需,要舍入的值
61
+ - 舍入基数:用于向上舍入的基数
62
+
63
+ **示例**:
64
+ ```
65
+ // 将金额向上取整到百位
66
+ CEILING([金额], 100)
67
+ ```
68
+
69
+ ---
70
+
71
+ ## COUNT - 数字计数
72
+
73
+ **表达式**: `COUNT(值1,[值2,...])`
74
+
75
+ **函数说明**: 统计数据集中数字的个数
76
+
77
+ **参数说明**: 值1:必需,要计算其中数字的个数的第一项,可以是列或参数列表。值2:可选,要计算其中数字的个数的其他项,可以是列或参数列表,最多可包含 255 个。
78
+
79
+ **示例**:
80
+ ```
81
+ COUNT(1, "智能表格") => 1
82
+ COUNT(1,2) => 2
83
+ [订单表.金额].COUNT() // 统计有效金额数量
84
+ ```
85
+
86
+ ---
87
+
88
+ ## COUNTA - 非空计数
89
+
90
+ **表达式**: `COUNTA(值1, [值2, ...])`
91
+
92
+ **函数说明**: 统计数据集中非空元素的个数
93
+
94
+ **参数说明**: 值:可以是多个值,也可以是数据表.字段,也可以是多个字段
95
+
96
+ **示例**:
97
+ ```
98
+ [项目管理].[项目名称].COUNTA() => 项目数 //统计 [项目名称] 整列里面项目名称非空的个数
99
+ [多选].COUNTA() => 选项个数 //统计 [多选] 每个记录里面选项个数
100
+ LIST(1,2,"智",).COUNTA() => 3 //统计列表 [1,2,"智"] 里面非空元素个数
101
+ [任务表.任务名称].COUNTA() // 统计任务总数
102
+ ```
103
+
104
+ ---
105
+
106
+ ## COUNTIF - 条件计数
107
+
108
+ **表达式**: `数据范围.COUNTIF(筛选条件)`
109
+
110
+ **函数说明**: 计算列表中符合筛选条件的元素个数
111
+
112
+ **参数说明**:
113
+ - 数据范围:参与条件筛选的范围
114
+ - 筛选条件:取数据范围的值进行条件筛选,返回符合筛选条件的值
115
+
116
+ **示例**:
117
+ ```
118
+ [项目管理].COUNTIF([Each].[项目状态]="已完成")=> 已完成的记录数 //统计已完成下的项目数
119
+ LIST(1,2,3,4).COUNTIF([Each]>2) => 2 //列表中大于2的元素个数
120
+ [订单表.状态].COUNTIF("已完成")
121
+ ```
122
+
123
+ ---
124
+
125
+ ## EXP - 自然指数
126
+
127
+ **表达式**: `EXP(数值)`
128
+
129
+ **函数说明**: 返回 e 的 n 次幂。 常数 e 约等于 2.71828182845904,是自然对数的底数。EXP 是计算自然对数的 LN 的反函数。
130
+
131
+ **参数说明**: 数值:必需,底数 e 的指数
132
+
133
+ **示例**:
134
+ ```
135
+ EXP(2) => 7.3890561
136
+ ```
137
+
138
+ ---
139
+
140
+ ## FLOOR - 向下舍入
141
+
142
+ **表达式**: `FLOOR(数值, 舍入基数)`
143
+
144
+ **函数说明**: 返回将参数值向下舍入(沿绝对值减小的方向)为最接近的指定舍入基数的倍数。
145
+
146
+ **参数说明**:
147
+ - 数值:必需,要舍入的值
148
+ - 舍入基数:用于向下舍入的基数
149
+
150
+ **示例**:
151
+ ```
152
+ // 产品价格为 ¥4.42 时,使用公式FLOOR将价格向下舍入到最接近的 5 分钱。
153
+ FLOOR(4.42,0.05)
154
+ ```
155
+
156
+ ---
157
+
158
+ ## INT - 向下取整
159
+
160
+ **表达式**: `INT(数值)`
161
+
162
+ **函数说明**: 将数值向下舍入到最接近的整数。
163
+
164
+ **参数说明**: 数值:必需,需要进行向下舍入取整的实数
165
+
166
+ **示例**:
167
+ ```
168
+ INT(8.9) => 8
169
+ INT([数值])
170
+ ```
171
+
172
+ ---
173
+
174
+ ## LOG - 对数
175
+
176
+ **表达式**: `LOG(数值, 底数)`
177
+
178
+ **函数说明**: 根据指定底数返回数值的对数。
179
+
180
+ **参数说明**:
181
+ - 数值:必需,想要计算其对数的正实数
182
+ - 底数:可选,对数的底数。 如果省略底数,则假定其值为 10
183
+
184
+ **示例**:
185
+ ```
186
+ LOG(8, 2) => 3
187
+ LOG(100, 10) // 2
188
+ ```
189
+
190
+ ---
191
+
192
+ ## MAX - 最大值
193
+
194
+ **表达式**: `MAX(值1, [值2, ...])`
195
+
196
+ **函数说明**: 返回一组值中的最大值。
197
+
198
+ **参数说明**: 数值1:数值1是必需的,后续数值是可选的,要从中查找最大值
199
+
200
+ **示例**:
201
+ ```
202
+ MAX(10,7,9,27,2) => 27
203
+ [销售表.销售额].MAX() // 最高销售额
204
+ ```
205
+
206
+ ---
207
+
208
+ ## MIN - 最小值
209
+
210
+ **表达式**: `MIN(值1, [值2, ...])`
211
+
212
+ **函数说明**: 返回一组值中的最小值。
213
+
214
+ **参数说明**: 数值1:数值1是必需的,后续数值是可选的,要从中查找最小值
215
+
216
+ **示例**:
217
+ ```
218
+ MIN(10,7,9,27,2) => 2
219
+ [库存表.数量].MIN() // 最低库存
220
+ ```
221
+
222
+ ---
223
+
224
+ ## POWER - 幂运算
225
+
226
+ **表达式**: `POWER(基数, 指数)`
227
+
228
+ **函数说明**: 返回数值乘幂的结果。若要对数值进行幂运算,请使用 POWER 函数。
229
+
230
+ **参数说明**:
231
+ - 数值:必需,基数可为任意实数
232
+ - 指数:必需, 基数乘幂运算的指数
233
+
234
+ **示例**:
235
+ ```
236
+ POWER(5,2) => 25
237
+ POWER(2, 8) // 256
238
+ ```
239
+
240
+ ---
241
+
242
+ ## RAND - 随机数
243
+
244
+ **表达式**: `RAND()`
245
+
246
+ **函数说明**: 返回一个大于等于 0 且小于 1 的平均分布的随机数
247
+
248
+ **参数说明**: RAND函数语法没有参数
249
+
250
+ **示例**:
251
+ ```
252
+ RAND() => 0.834763
253
+ (RAND() * 100).INT() => 66
254
+ ```
255
+
256
+ ---
257
+
258
+ ## ROUND - 四舍五入
259
+
260
+ **表达式**: `ROUND(数值, 位数)`
261
+
262
+ **函数说明**: 将数值四舍五入到指定的位数。
263
+
264
+ **参数说明**:
265
+ - 数值:必需,要四舍五入的数值
266
+ - 位数:整数,必需。 要进行四舍五入运算的位数。如果位数大于0,则将数值四舍五入到指定的小数位数。如果位数等于0,则将数值四舍五入到最接近的整数。如果位数小于0,则将数值四舍五入到小数点左边的相应位数
267
+
268
+ **示例**:
269
+ ```
270
+ ROUND(23.7825, 2) => 23.78
271
+ ROUND([金额] / [数量], 2) 保留2位小数
272
+ ```
273
+
274
+ ---
275
+
276
+ ## ROUNDUP - 向上舍入
277
+
278
+ **表达式**: `ROUNDUP(数值,位数)`
279
+
280
+ **函数说明**: 将数值朝着远离 0(零)的方向,按指定位数进行向上舍入
281
+
282
+ **参数说明**:
283
+ - 数值:必需,要舍入的值
284
+ - 位数:代表舍入的位数,大于0(代表小数点右边舍入的位数),等于0(代表舍入为整数),小于0(代表小数点左边舍入的位数)
285
+
286
+ **示例**:
287
+ ```
288
+ ROUNDUP(3.2,0) => 4 // 3.2取整就是4
289
+ ROUNDUP(3.24,1) => 3.3 // 3.24向上舍入为1个小数位就是3.3
290
+ ROUNDUP(13.2,-1) => 20 //13.2 向小数点左边舍入一位,就是20
291
+ ```
292
+
293
+ ---
294
+
295
+ ## SQRT - 平方根
296
+
297
+ **表达式**: `SQRT(数值)`
298
+
299
+ **函数说明**: 返回正的平方根。
300
+
301
+ **参数说明**: 数值:必需,要计算其平方根的数值。如果 数值为负数,则 SQRT 返回#NUM! 错误值
302
+
303
+ **示例**:
304
+ ```
305
+ SQRT(16) => 4
306
+ SQRT([面积])
307
+ ```
308
+
309
+ ---
310
+
311
+ ## SUM - 求和
312
+
313
+ **表达式**: `SUM(值1, [值2, ...])`
314
+
315
+ **函数说明**: SUM函数将值相加。 你可以将多个值或是列的单元格相加,或者将二者的组合相加。注意:SUM是进行多列(3列及以上)求和的标准做法,优先使用 SUM([字段A], [字段B], [字段C], ...) 替代 [字段A]+[字段B]+[字段C] + ...。
316
+
317
+ **参数说明**: 数值1:数值1是必需的,后续数值是可选的
318
+
319
+ **示例**:
320
+ ```
321
+ // 计算数值和
322
+ SUM(1,1) => 2
323
+ // 计算金额列之和
324
+ [销售表.金额].SUM()
325
+ // 计算当前记录的多个字段之和
326
+ SUM([字段A], [字段B], [字段C])
327
+ ```
328
+
329
+ ---
330
+
331
+ ## SUMIF - 条件求和
332
+
333
+ **表达式**: `数据范围.SUMIF(筛选条件)`
334
+
335
+ **函数说明**: 对列表中符合筛选条件的元素进行求和
336
+
337
+ **参数说明**:
338
+ - 数据范围:参与条件筛选的范围
339
+ - 筛选条件:取数据范围的值进行条件筛选,返回符合筛选条件的值
340
+
341
+ **示例**:
342
+ ```
343
+ [商品销售表.销售额].SUMIF([Each]>1000)=> 销售额数值 //统计销售额大于1000的销售总和
344
+ LIST(1,2,3,4).SUMIF([Each]>2) => 7 //对列表中大于2的元素求和
345
+ [销售表.金额].SUMIF([销售表.状态], "已完成")
346
+ ```
347
+
348
+ ---
349
+
350
+ ## VALUE - 文本转数字
351
+
352
+ **表达式**: `VALUE(文本)`
353
+
354
+ **函数说明**: 将表示数值的文本字符串转换为数值。
355
+
356
+ **参数说明**: 文本:必需, 用引号括起来的文本或包含要转换文本的列的单元格
357
+
358
+ **示例**:
359
+ ```
360
+ VALUE("1,000") => 1000
361
+ VALUE("123")
362
+ ```