@wecom/wecom-openclaw-plugin 2026.7.2 → 2026.8.17-beta.1
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.
- package/README.md +33 -4
- package/dist/index.js +14 -21
- package/dist/src/cli/argv.d.ts +36 -0
- package/dist/src/cli/argv.js +155 -0
- package/dist/src/cli/const.d.ts +94 -0
- package/dist/src/cli/const.js +107 -0
- package/dist/src/cli/credentials.d.ts +54 -0
- package/dist/src/cli/credentials.js +342 -0
- package/dist/src/cli/index.d.ts +5 -0
- package/dist/src/cli/index.js +5 -0
- package/dist/src/cli/legacy-tool-warning.d.ts +12 -0
- package/dist/src/cli/legacy-tool-warning.js +20 -0
- package/dist/src/cli/locate.d.ts +32 -0
- package/dist/src/cli/locate.js +196 -0
- package/dist/src/cli/process-launcher.d.ts +1 -0
- package/dist/src/cli/process-launcher.js +1 -0
- package/dist/src/cli/process-output.d.ts +14 -0
- package/dist/src/cli/process-output.js +43 -0
- package/dist/src/cli/tool.d.ts +46 -0
- package/dist/src/cli/tool.js +363 -0
- package/dist/src/const.d.ts +0 -8
- package/dist/src/const.js +0 -14
- package/dist/src/monitor.js +1 -12
- package/dist/src/state-manager.d.ts +0 -19
- package/dist/src/state-manager.js +1 -34
- package/dist/src/utils.d.ts +27 -0
- package/openclaw.plugin.json +1 -1
- package/package.json +3 -3
- package/skills/wecom-send-media/SKILL.md +2 -0
- package/skills/wecom-send-template-card/SKILL.md +1 -1
- package/skills/wecomcli-calendar/SKILL.md +302 -0
- package/skills/wecomcli-calendar/references/calendar-agenda.md +228 -0
- package/skills/wecomcli-calendar/references/calendar-cancel.md +110 -0
- package/skills/wecomcli-calendar/references/calendar-create.md +240 -0
- package/skills/wecomcli-calendar/references/calendar-freebusy.md +209 -0
- package/skills/wecomcli-calendar/references/calendar-meeting-room.md +172 -0
- package/skills/wecomcli-calendar/references/calendar-search.md +208 -0
- package/skills/wecomcli-calendar/references/calendar-update.md +274 -0
- package/skills/wecomcli-contact/SKILL.md +59 -0
- package/skills/wecomcli-disk/SKILL.md +401 -0
- package/skills/wecomcli-doc/SKILL.md +140 -0
- package/skills/wecomcli-doc/references/doc-contents-append.md +22 -0
- package/skills/wecomcli-doc/references/doc-contents-overwrite.md +29 -0
- package/skills/wecomcli-doc/references/doc-create.md +161 -0
- package/skills/wecomcli-doc/scripts/build_docx.py +1375 -0
- package/skills/wecomcli-doc-manage/SKILL.md +135 -0
- package/skills/wecomcli-doc-manage/references/doc-members-update.md +26 -0
- package/skills/wecomcli-doc-manage/references/doc-names-update.md +22 -0
- package/skills/wecomcli-doc-manage/references/doc-rules-update.md +24 -0
- package/skills/wecomcli-email/SKILL.md +216 -0
- package/skills/wecomcli-email/references/forward-mail.md +131 -0
- package/skills/wecomcli-email/references/get-mail.md +168 -0
- package/skills/wecomcli-email/references/reply-mail.md +140 -0
- package/skills/wecomcli-email/references/search-mail.md +113 -0
- package/skills/wecomcli-email/references/security.md +53 -0
- package/skills/wecomcli-email/references/send-mail.md +186 -0
- package/skills/wecomcli-email/references/send-schedule.md +83 -0
- package/skills/wecomcli-media/SKILL.md +100 -0
- package/skills/wecomcli-meeting/SKILL.md +374 -0
- package/skills/wecomcli-meeting/references/meeting-cancel.md +115 -0
- package/skills/wecomcli-meeting/references/meeting-create.md +169 -0
- package/skills/wecomcli-meeting/references/meeting-list.md +228 -0
- package/skills/wecomcli-meeting/references/meeting-original-get.md +100 -0
- package/skills/wecomcli-meeting/references/meeting-search.md +175 -0
- package/skills/wecomcli-meeting/references/meeting-update.md +219 -0
- package/skills/wecomcli-message/SKILL.md +213 -0
- package/skills/wecomcli-preflight/SKILL.md +147 -0
- package/skills/wecomcli-sheet/SKILL.md +177 -0
- package/skills/wecomcli-sheet/references/sheet-contents-update.md +49 -0
- package/skills/wecomcli-sheet/references/sheet-ranges-get.md +47 -0
- package/skills/wecomcli-sheet/references/sheet-rows-append.md +47 -0
- package/skills/wecomcli-sheet/references/sheet-subsheets-add.md +28 -0
- package/skills/wecomcli-sheet/references/sheet-subsheets-delete.md +22 -0
- package/skills/wecomcli-smartpage/SKILL.md +172 -0
- package/skills/wecomcli-smartpage/references/data-driven-pages.md +50 -0
- package/skills/wecomcli-smartpage/references/formula/arraylist.md +369 -0
- package/skills/wecomcli-smartpage/references/formula/datetime.md +283 -0
- package/skills/wecomcli-smartpage/references/formula/logic.md +247 -0
- package/skills/wecomcli-smartpage/references/formula/math.md +362 -0
- package/skills/wecomcli-smartpage/references/formula/operators.md +246 -0
- package/skills/wecomcli-smartpage/references/formula/pageblock.md +76 -0
- package/skills/wecomcli-smartpage/references/formula/templates.md +410 -0
- package/skills/wecomcli-smartpage/references/formula/text.md +377 -0
- package/skills/wecomcli-smartpage/references/formula/user.md +22 -0
- package/skills/wecomcli-smartpage/references/formula-reference.md +192 -0
- package/skills/wecomcli-smartpage/references/mdx-syntax.md +739 -0
- package/skills/wecomcli-smartpage/references/smartpage-edit.md +519 -0
- package/skills/wecomcli-smartsheet/SKILL.md +153 -0
- package/skills/wecomcli-smartsheet/assets/templates/README.md +53 -0
- package/skills/wecomcli-smartsheet/assets/templates/ai_efficiency.md +709 -0
- package/skills/wecomcli-smartsheet/assets/templates/connect_to_app.md +380 -0
- package/skills/wecomcli-smartsheet/assets/templates/financial_accounting.md +369 -0
- package/skills/wecomcli-smartsheet/assets/templates/hr_and_administration.md +475 -0
- package/skills/wecomcli-smartsheet/assets/templates/ledger_records.md +156 -0
- package/skills/wecomcli-smartsheet/assets/templates/manufacturing.md +395 -0
- package/skills/wecomcli-smartsheet/assets/templates/marketing.md +186 -0
- package/skills/wecomcli-smartsheet/assets/templates/office_essentials.md +299 -0
- package/skills/wecomcli-smartsheet/assets/templates/personal_efficiency.md +70 -0
- package/skills/wecomcli-smartsheet/assets/templates/procurement_logistics.md +325 -0
- package/skills/wecomcli-smartsheet/assets/templates/project_management.md +564 -0
- package/skills/wecomcli-smartsheet/assets/templates/rd_process_customer.md +222 -0
- package/skills/wecomcli-smartsheet/assets/templates/rd_process_ops.md +105 -0
- package/skills/wecomcli-smartsheet/assets/templates/rd_process_project.md +109 -0
- package/skills/wecomcli-smartsheet/assets/templates/rd_process_research.md +92 -0
- package/skills/wecomcli-smartsheet/assets/templates/sales_and_operations.md +446 -0
- package/skills/wecomcli-smartsheet/assets/templates/store_management.md +431 -0
- package/skills/wecomcli-smartsheet/assets/templates/team_tasks.md +274 -0
- package/skills/wecomcli-smartsheet/assets/templates/wechat_customer.md +384 -0
- package/skills/wecomcli-smartsheet/assets/templates/work_report.md +100 -0
- package/skills/wecomcli-smartsheet/references/common.md +145 -0
- package/skills/wecomcli-smartsheet/references/smart-sheet-chart-types.md +95 -0
- package/skills/wecomcli-smartsheet/references/smart-sheet-edit.md +611 -0
- package/skills/wecomcli-smartsheet/references/smart-sheet-field-types.md +438 -0
- package/skills/wecomcli-smartsheet/references/smart-sheet-formula.md +845 -0
- package/skills/wecomcli-smartsheet/references/smart-sheet-read.md +411 -0
- package/skills/wecomcli-smartsheet/references/smart-sheet-record-values.md +203 -0
- package/skills/wecomcli-smartsheet/references/smart-sheet-view-types.md +356 -0
- package/skills/{wecom-smartsheet/references/webhook-examples.md → wecomcli-smartsheet/references/smart-sheet-webhook-examples.md} +23 -32
- package/skills/wecomcli-smartsheet/references/smart-sheet-webhook.md +169 -0
- package/skills/wecomcli-todo/SKILL.md +75 -0
- package/skills/wecomcli-todo/references/todo-create.md +139 -0
- package/skills/wecomcli-todo/references/todo-delete.md +65 -0
- package/skills/wecomcli-todo/references/todo-finish.md +74 -0
- package/skills/wecomcli-todo/references/todo-get.md +68 -0
- package/skills/wecomcli-todo/references/todo-list.md +135 -0
- package/skills/wecomcli-todo/references/todo-update.md +114 -0
- package/dist/src/mcp/index.d.ts +0 -6
- package/dist/src/mcp/index.js +0 -10
- package/dist/src/mcp/interceptors/biz-error.d.ts +0 -11
- package/dist/src/mcp/interceptors/biz-error.js +0 -69
- package/dist/src/mcp/interceptors/doc-auth-error.d.ts +0 -10
- package/dist/src/mcp/interceptors/doc-auth-error.js +0 -171
- package/dist/src/mcp/interceptors/index.d.ts +0 -35
- package/dist/src/mcp/interceptors/index.js +0 -70
- package/dist/src/mcp/interceptors/msg-media.d.ts +0 -11
- package/dist/src/mcp/interceptors/msg-media.js +0 -133
- package/dist/src/mcp/interceptors/smartpage-create.d.ts +0 -30
- package/dist/src/mcp/interceptors/smartpage-create.js +0 -132
- package/dist/src/mcp/interceptors/smartpage-export.d.ts +0 -17
- package/dist/src/mcp/interceptors/smartpage-export.js +0 -87
- package/dist/src/mcp/interceptors/smartsheet-upload.d.ts +0 -22
- package/dist/src/mcp/interceptors/smartsheet-upload.js +0 -263
- package/dist/src/mcp/interceptors/types.d.ts +0 -64
- package/dist/src/mcp/interceptors/types.js +0 -7
- package/dist/src/mcp/schema.d.ts +0 -11
- package/dist/src/mcp/schema.js +0 -99
- package/dist/src/mcp/tool.d.ts +0 -63
- package/dist/src/mcp/tool.js +0 -224
- package/dist/src/mcp/transport.d.ts +0 -94
- package/dist/src/mcp/transport.js +0 -549
- package/skills/wecom-contact/SKILL.md +0 -162
- package/skills/wecom-doc/SKILL.md +0 -127
- package/skills/wecom-meeting/SKILL.md +0 -441
- package/skills/wecom-meeting/references/example-full.md +0 -30
- package/skills/wecom-meeting/references/example-reminder.md +0 -46
- package/skills/wecom-meeting/references/example-security.md +0 -22
- package/skills/wecom-meeting/references/response-get-meeting-info.md +0 -148
- package/skills/wecom-msg/SKILL.md +0 -157
- package/skills/wecom-msg/references/api-get-messages.md +0 -93
- package/skills/wecom-msg/references/api-get-msg-chat-list.md +0 -58
- package/skills/wecom-msg/references/api-get-msg-media.md +0 -44
- package/skills/wecom-msg/references/api-send-message.md +0 -39
- package/skills/wecom-preflight/SKILL.md +0 -141
- package/skills/wecom-schedule/SKILL.md +0 -161
- package/skills/wecom-schedule/references/api-check-availability.md +0 -56
- package/skills/wecom-schedule/references/api-create-schedule.md +0 -38
- package/skills/wecom-schedule/references/api-get-schedule-detail.md +0 -81
- package/skills/wecom-schedule/references/api-update-schedule.md +0 -32
- package/skills/wecom-schedule/references/ref-reminders.md +0 -24
- package/skills/wecom-sheet/SKILL.md +0 -131
- package/skills/wecom-sheet/references/sheet-add-sub.md +0 -54
- package/skills/wecom-sheet/references/sheet-append-data.md +0 -64
- package/skills/wecom-sheet/references/sheet-delete-sub.md +0 -38
- package/skills/wecom-sheet/references/sheet-update-range-data.md +0 -95
- package/skills/wecom-smartpage/SKILL.md +0 -119
- package/skills/wecom-smartpage/references/smartpage-create.md +0 -130
- package/skills/wecom-smartpage/references/smartpage-export.md +0 -168
- package/skills/wecom-smartsheet/SKILL.md +0 -241
- package/skills/wecom-smartsheet/references/smartsheet-cell-value-formats.md +0 -163
- package/skills/wecom-smartsheet/references/smartsheet-field-types.md +0 -44
- package/skills/wecom-smartsheet/references/smartsheet-get-records.md +0 -187
- package/skills/wecom-smartsheet/references/webhook-fallback.md +0 -183
- package/skills/wecom-todo/SKILL.md +0 -392
- package/skills/wecom-todo/examples/workflows.md +0 -163
|
@@ -0,0 +1,283 @@
|
|
|
1
|
+
# 日期时间公式函数(`DATE`, `DATEDIF`, `DATEVALUE`, `DAY`, `HOUR`, `MINUTE`, `MONTH`, `NETWORKDAYS`, `NOW`, `SECOND`, `TODAY`, `WEEKDAY`, `WEEKNUM`, `WORKDAY`, `YEAR`)
|
|
2
|
+
|
|
3
|
+
> 用于获取当前日期、日期计算、日期差值、工作日计算等日期时间处理,适用于倒计时显示、工龄计算、截止日期判断等场景。
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## DATE - 构造日期
|
|
8
|
+
|
|
9
|
+
**表达式**: `DATE(年, 月, 日)`
|
|
10
|
+
|
|
11
|
+
**函数说明**: 将代表年、月、日的数字转换为日期。
|
|
12
|
+
|
|
13
|
+
**参数说明**:
|
|
14
|
+
- 年:必需,年参数的值可以包含一到四位数字
|
|
15
|
+
- 月:必需,一个正整数或负整数,表示一年中从1月至12月(一月到十二月)的各个月
|
|
16
|
+
- 日:必需,一个正整数或负整数,表示一月中从01日到31日的各天
|
|
17
|
+
|
|
18
|
+
**示例**:
|
|
19
|
+
```
|
|
20
|
+
DATE(2026,04,18) => 2026/4/18
|
|
21
|
+
DATE(2026, 1, 1)
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## DATEDIF - 日期差
|
|
27
|
+
|
|
28
|
+
**表达式**: `DATEDIF(起始日期, 结束日期, 单位)`
|
|
29
|
+
|
|
30
|
+
**函数说明**: 计算起始日期和结束日期之间的天数、月数或年数。
|
|
31
|
+
|
|
32
|
+
**参数说明**:
|
|
33
|
+
- 起始日期:必需,计算中要使用的开始日期。必须是以下一种:日期格式的列、返回日期类型的函数、或数字
|
|
34
|
+
- 结束日期:必需,计算中要使用的结束日期。必须是以下一种:日期格式的列、返回日期类型的函数、或数字
|
|
35
|
+
- 单位:必需,某种时间单位的缩写字符串。例如, "Y"代表年数、"M" 代表月数、"D"代表天数、"MD"代表同月间隔天数、"YM"代表同年间隔月数、"YD"代表同年间隔天数
|
|
36
|
+
|
|
37
|
+
**示例**:
|
|
38
|
+
```
|
|
39
|
+
DATEDIF("2026/4/10","2026/4/18","D") =>8
|
|
40
|
+
DATEDIF([入职日期], TODAY(), "Y") // 计算工龄(年)
|
|
41
|
+
DATEDIF([开始日期], [结束日期], "D") // 计算项目持续天数
|
|
42
|
+
DATEDIF([开始日期], [结束日期], "M") // 计算相差月数
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## DATEVALUE - 日期值转换
|
|
48
|
+
|
|
49
|
+
**表达式**: `DATEVALUE(日期字符串)`
|
|
50
|
+
|
|
51
|
+
**函数说明**: 将日期字符串转换为数字。数字代表是从距离1900年1月1日的天数。
|
|
52
|
+
|
|
53
|
+
**参数说明**: 日期字符串:必需。代表采用日期格式的日期文本,或是对包含这种文本的字段
|
|
54
|
+
|
|
55
|
+
**示例**:
|
|
56
|
+
```
|
|
57
|
+
DATEVALUE("2026/04/18") => 46130
|
|
58
|
+
DATEVALUE("2026-01-01")
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
## DAY - 获取日期
|
|
64
|
+
|
|
65
|
+
**表达式**: `DAY(日期)`
|
|
66
|
+
|
|
67
|
+
**函数说明**: 获取日期(或转换为数值的日期)对应的日。
|
|
68
|
+
|
|
69
|
+
**参数说明**: 日期:必需,从中提取具体几号的日期
|
|
70
|
+
|
|
71
|
+
**示例**:
|
|
72
|
+
```
|
|
73
|
+
DAY("2026-4-20 10:30:55") => 20
|
|
74
|
+
DAY([开工日期])
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## HOUR - 获取小时
|
|
80
|
+
|
|
81
|
+
**表达式**: `HOUR(时间)`
|
|
82
|
+
|
|
83
|
+
**函数说明**: 获取时间(或转换为数值的时间)的小时数。
|
|
84
|
+
|
|
85
|
+
**参数说明**: 时间:必需,从中提取小时数的时间
|
|
86
|
+
|
|
87
|
+
**示例**:
|
|
88
|
+
```
|
|
89
|
+
HOUR("2026-4-20 10:30:55") => 10
|
|
90
|
+
HOUR([打卡时间])
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
---
|
|
94
|
+
|
|
95
|
+
## MINUTE - 获取分钟
|
|
96
|
+
|
|
97
|
+
**表达式**: `MINUTE(时间)`
|
|
98
|
+
|
|
99
|
+
**函数说明**: 获取时间(或转换为数值的时间)的分钟数
|
|
100
|
+
|
|
101
|
+
**参数说明**: 时间:必需,从中提取分钟数的时间
|
|
102
|
+
|
|
103
|
+
**示例**:
|
|
104
|
+
```
|
|
105
|
+
MINUTE("2026-4-20 10:30:55") => 30
|
|
106
|
+
MINUTE([会议开始时间])
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
---
|
|
110
|
+
|
|
111
|
+
## MONTH - 获取月份
|
|
112
|
+
|
|
113
|
+
**表达式**: `MONTH(日期)`
|
|
114
|
+
|
|
115
|
+
**函数说明**: 获取日期(或转换为数值的日期)的月份
|
|
116
|
+
|
|
117
|
+
**参数说明**: 日期:必需,从中提取月份的日期
|
|
118
|
+
|
|
119
|
+
**示例**:
|
|
120
|
+
```
|
|
121
|
+
MONTH("2026-4-20") => 4
|
|
122
|
+
MONTH([生日])
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
---
|
|
126
|
+
|
|
127
|
+
## NETWORKDAYS - 工作日天数
|
|
128
|
+
|
|
129
|
+
**表达式**: `NETWORKDAYS(开始日期,终止日期,[节假日])`
|
|
130
|
+
|
|
131
|
+
**函数说明**: 返回开始日期和终止日期之间的净工作日天数。工作日不包括周末和专门指定的假期。
|
|
132
|
+
|
|
133
|
+
**参数说明**:
|
|
134
|
+
- 开始日期:必需,一个代表开始日期的日期
|
|
135
|
+
- 终止日期:必需,一个代表终止日期的日期
|
|
136
|
+
- 节假日:可选,默认为双休日,也可加上列入该参数的日期范围或日期字段
|
|
137
|
+
|
|
138
|
+
**示例**:
|
|
139
|
+
```
|
|
140
|
+
NETWORKDAYS("2026/4/18", "2026/4/25", LIST("2026/4/19", "2026/5/18")) => 5
|
|
141
|
+
//计算 2026/4/18 和 2026/4/25 之间除去2026/4/19和双休日后的天数
|
|
142
|
+
NETWORKDAYS([开始日期], [结束日期])
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
---
|
|
146
|
+
|
|
147
|
+
## NOW - 当前日期时间
|
|
148
|
+
|
|
149
|
+
**表达式**: `NOW()`
|
|
150
|
+
|
|
151
|
+
**函数说明**: 返回当前日期和时间
|
|
152
|
+
|
|
153
|
+
**参数说明**: NOW 函数语法没有参数
|
|
154
|
+
|
|
155
|
+
**示例**:
|
|
156
|
+
```
|
|
157
|
+
NOW()=>返回当前时间
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
---
|
|
161
|
+
|
|
162
|
+
## SECOND - 获取秒数
|
|
163
|
+
|
|
164
|
+
**表达式**: `SECOND(时间)`
|
|
165
|
+
|
|
166
|
+
**函数说明**: 获取时间(或转换为数值的时间)的秒数
|
|
167
|
+
|
|
168
|
+
**参数说明**: 时间:必需,从中提取秒数的时间
|
|
169
|
+
|
|
170
|
+
**示例**:
|
|
171
|
+
```
|
|
172
|
+
SECOND("2026-4-20 10:30:55") => 55
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
---
|
|
176
|
+
|
|
177
|
+
## TODAY - 当前日期
|
|
178
|
+
|
|
179
|
+
**表达式**: `TODAY()`
|
|
180
|
+
|
|
181
|
+
**函数说明**: 返回今天的日期。
|
|
182
|
+
|
|
183
|
+
**参数说明**: TODAY 函数语法没有参数
|
|
184
|
+
|
|
185
|
+
**示例**:
|
|
186
|
+
```
|
|
187
|
+
TODAY() => 返回当前日期
|
|
188
|
+
IF([截止日期] < TODAY(), "已超期", "进行中")
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
---
|
|
192
|
+
|
|
193
|
+
## WEEKDAY - 星期几
|
|
194
|
+
|
|
195
|
+
**表达式**: `WEEKDAY(日期值, [类型])`
|
|
196
|
+
|
|
197
|
+
**函数说明**: 返回对应于某个日期的一周中的第几天。 默认情况下,天数是1(星期日)到7(星期六)范围内的整数。
|
|
198
|
+
|
|
199
|
+
**参数说明**:
|
|
200
|
+
- 日期值:必需,要查找的那一天的日期
|
|
201
|
+
- 类型:可选。用于确定返回值类型的数字
|
|
202
|
+
- 输入1或省略,返回数字1(星期日)到7(星期六)
|
|
203
|
+
- 输入2,返回数字 1(星期一)到7(星期日)
|
|
204
|
+
- 输入3,返回数字0(星期一)到6(星期六)
|
|
205
|
+
- 输入11,返回数字 1(星期一)到7(星期日)
|
|
206
|
+
- 输入12,返回数字 1(星期二)到7(星期一)
|
|
207
|
+
- 输入13,返回数字1(星期三)到7(星期二)
|
|
208
|
+
- 输入14,返回数字 1(星期四)到7(星期三)
|
|
209
|
+
- 输入15,返回数字 1(星期五)到7(星期四)
|
|
210
|
+
- 输入16,返回数字 1(星期六)到7(星期五)
|
|
211
|
+
- 输入17,返回数字1(星期日)到7(星期六)
|
|
212
|
+
|
|
213
|
+
**示例**:
|
|
214
|
+
```
|
|
215
|
+
WEEKDAY("2026/4/15", 3) => 2
|
|
216
|
+
WEEKDAY([日期])
|
|
217
|
+
// 判断是否为周末
|
|
218
|
+
IF(OR(WEEKDAY([日期]) = 1, WEEKDAY([日期]) = 7), "周末", "工作日")
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
---
|
|
222
|
+
|
|
223
|
+
## WEEKNUM - 第几周
|
|
224
|
+
|
|
225
|
+
**表达式**: `WEEKNUM(日期, [类型])`
|
|
226
|
+
|
|
227
|
+
**函数说明**: 返回日期在当前年份的第几周
|
|
228
|
+
|
|
229
|
+
**参数说明**:
|
|
230
|
+
- 日期:必需。需要返回所在周序号的目标日期,可以是日期字段或格式为日期类型的数字、公式字段等
|
|
231
|
+
- 类型:可选。默认为 1,表示一周的第 1 天从星期几开始
|
|
232
|
+
- 1或省略 代表星期天开始
|
|
233
|
+
- 2 代表星期一开始
|
|
234
|
+
- 11 代表星期一开始
|
|
235
|
+
- 12 代表星期二开始
|
|
236
|
+
- 13 代表星期三开始
|
|
237
|
+
- 14 代表星期四开始
|
|
238
|
+
- 15 代表星期五开始
|
|
239
|
+
- 16 代表星期六开始
|
|
240
|
+
- 17 代表星期日开始
|
|
241
|
+
- 21代表星期一开始
|
|
242
|
+
|
|
243
|
+
**示例**:
|
|
244
|
+
```
|
|
245
|
+
WEEKNUM("2000-01-01")=> 1
|
|
246
|
+
WEEKNUM([日期])
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
---
|
|
250
|
+
|
|
251
|
+
## WORKDAY - 工作日计算
|
|
252
|
+
|
|
253
|
+
**表达式**: `WORKDAY(起始日期, 天数, [节假日])`
|
|
254
|
+
|
|
255
|
+
**函数说明**: 返回起始日期之前或之后指定工作日数的日期。工作日不包含周末以及节假日。
|
|
256
|
+
|
|
257
|
+
**参数说明**:
|
|
258
|
+
- 开始日期:必需,计算的开始日期
|
|
259
|
+
- 天数:必需,开始日期之前或之后的非周末和非假日的天数。正值代表未来的日期;负值代表过去的日期。如果天数不是整数,则会截除其小数部分
|
|
260
|
+
- 节假日:可选,默认双休日,一个范围或数组常量
|
|
261
|
+
|
|
262
|
+
**示例**:
|
|
263
|
+
```
|
|
264
|
+
WORKDAY(DATE(2026,4,15), 4, LIST("2026/4/16", "2026/5/18")) => "2026/4/22"
|
|
265
|
+
//在计算工期时会将跳过 2026/5/18 和 2026/4/16 和双休日
|
|
266
|
+
WORKDAY(TODAY(), 3) // 3个工作日后的日期
|
|
267
|
+
```
|
|
268
|
+
|
|
269
|
+
---
|
|
270
|
+
|
|
271
|
+
## YEAR - 获取年份
|
|
272
|
+
|
|
273
|
+
**表达式**: `YEAR(日期)`
|
|
274
|
+
|
|
275
|
+
**函数说明**: 获取日期(或转换为数值的日期)的年份
|
|
276
|
+
|
|
277
|
+
**参数说明**: 日期:必需, 从中提取年份的日期
|
|
278
|
+
|
|
279
|
+
**示例**:
|
|
280
|
+
```
|
|
281
|
+
YEAR("2026-4-20") => 2026
|
|
282
|
+
YEAR([入职日期])
|
|
283
|
+
```
|
|
@@ -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
|
+
```
|