微程式用戶手冊
主頁
主頁
  • 計算規則

計算規則

函數使用

Info

業務場景:採購業務中,商品價格自動轉化爲中文大寫金額

操作步驟:[選擇函數]--[選擇計算的資料項]--[檢驗公式]--[保存]

1714393529585-7034812f-6e97-4b83-8d2b-926a93760006.png

計算規則編寫注意項

  1. 公式編寫時,可直接選擇資料項、函數使用,也可以輸入資料項名稱、函數名稱後自動識別,識別後可選擇
  2. 公式中使用的標點都是英文標點,包括英文的逗號、括號、引號等
  3. 使用到文本時,需使用英文引號包裹,如“張三”
  4. 編寫完成後,可點擊“校對公式”,檢測公式是否正確
  5. 計算資料項要與公式輸出值的格式一致,若日期資料項的公式是用文本函數string ,輸出就是錯誤的

函數類型

計算符號+、-、*、/、(、)
函數類型數值函數ABS()、AVG()、CEILING()、COS()、COUNT()、COUNTIF()、FIXED()、FLOOR()、INTDOWN()、INTUP()、LARGE()、LOG()、MAX()、MIN()、MOD()、PI()、POWER()、RAND()、ROUND()、SIN()、SQRT()、SUM()、SUMIF()、VALUE()
文本函數CONTAINS()、GETADDRESS()、GETUNITNAME()、LEFT()、LEN()、LOWER()、REPLACE()、RIGHT()、SEARCH()、STARTSWITH()、STRING()、SUBSTIUTE()、SUBSTRING()、TEXT()、TRIM()、UNION()、UPPER()、UPPERMONEY()
時間函數ADDDAY()、ADDHOUR()、ADDMINUTE()、ADDMONTH()、ADDYEAR()、DATEDIF()、DAY()、HOUR()、MINUTE()、MONTH()、NOW()、QUARTER()、SECOND()、TODAY()、WEEKDAY()、WEEKNUM()、YEAR()
邏輯函數CASE()、IF()
其他函數ISNULL()

函數解釋

數值函數

ABS()

ABS函數返回數字number的絕對值

用法:ABS(number)

示範:ABS(-8)=8 ABS(40)=40

Avg()

AVERAGE函數是一個求平均值的函數

用法:AVERAGE(v)返回所有參數的平均值,參數v是子表的某一個數字控制項

示範:計算出學產生績中平均分。【成績明細】裏面有3個科目,每個科目分數不同,【平均分】顯示這三個科目【成績】的平均分值。

CEILING()

CEILING函數:將數字number向上舍入(沿絕對值增大的方向)爲最接近基數significance的倍數

用法:CEILING(number,significance)

示範:CEILING(22.53,3)=24,CEILING(22.53,0.5)=23,CEILING(22.53,0.05)=22.55,CEILING(22.53,0.04)=22.56

COS()

COS函數:返回-1到1之間的餘弦值,參數A爲角度,數字與度數的轉化關係爲:1°=π/180
用法:COS(數值)
示範:在【數字】中輸入數字60,需要在【求cos值】中得到COS(60°)的值。

FIXED()

FIXED函數: 將數字舍入到指定的小數位,並以文本形式返回結果;number爲要進行舍入並轉換爲文本的數字;decimals可選,小數點右邊的位數

用法:FIXED(number,[decimals])

示範:FIXED(22.5364,2)=22.54

FLOOR()

FLOOR函數: 將數字number向下舍入(沿絕對值減小的方向)爲最接近基數significance的倍數

用法: FLOOR(number,significance)

示範:FLOOR(22.5,3)=21,FLOOR(22.5,4)=20

Count()

COUNT統計參數列表中選項值的個數

用法:COUNT(v)統計參數列表中選項值的個數,參數v是子表的某一個控制項

示範:計算【學產生績】中的科目數,【科目數】顯示【成績明細】中科目的數量。

Countif()

統計符合條件的子表參數v的個數,比較操作!=、=、>、>=、<、<= AND OR,如條件可以表示爲 "=68"、">68" 或 "=abc"

用法:COUNTIF(range , criteria)

示範:COUNTIF(子表.性別,"男") 返回性別男的人數, COUNTIF(子表.年齡, ">18") 返回年齡大於18的人數, COUNTIF(子表.年齡, 18)返回年齡等於18的人數

Intdown()

INTDOWN參數中向下取整數

用法:INTDOWN(v)向下取整數,參數v爲數值。

示範:用於計算和統計時,比如預留座位,除以人頭,32.1個座位,那麼只能接納32個人。Intdown(32.45)=32

Intup()

INTUP參數中向上取整數

用法:INTUP(v)向上取整數,參數v爲數值。

示範:在計算採購桌子數量時,按人頭一除,需要在小數點前面向上取整數來滿足採購場景。Intdown(32.45)=33

LARGE()

LARGE函數: 返回參數列表中第k個最大值,參數v是子表的某一個數值控制項,k爲返回的資料在數組v裏的位置(從大到小)

用法: LARGE(v,k)

LOG()

LOG函數: 根據底數返回指定數字的對數,如LOG(9, 3)返回的結果是2

用法: LOG(number,[base])

示範:LOG(9,3)=2,LOG(64,4)=3

Max()

MAX函數是一個求最大值的函數

用法:MAX(v)返回參數列表中的最大值,參數v是子表的某一個數字控制項

示範:計算出學產生績中最高分。【成績明細】裏面有3個科目,每個科目分數不同,【最高分】顯示這三個科目【成績】最高的分值。

Min()

MIN函數是一個求最小值的函數

用法:MIN(v)返回參數列表中的最小值,參數v是子表的某一個數字控制項

示範:計算出學產生績中最低分。【成績明細】裏面有3個科目,每個科目分數不同,【最低分】顯示這三個科目【成績】最低的分值 。

MOD()

MOD函數: 返回兩數相除的餘數,數字1是被除數,數字2是除數

示範: MOD(4,3)返回1,也就是4/3的餘數

PI()

PI函數: 圓周率3.1415...

示範: PI() 返回3.141596......

POWER()

POWER函數: 返回指定數字的乘冪

用法: POWER(number,power)

示範:POWER(3,2)返回9,即3的2次方

RAND()

RAND函數: 返回大於等於0且小於1的均勻分佈隨機實數,每一次觸發計算都會變化

示範: RAND()

SIN()

SIN函數: 返回-1到1之間的正弦值,參數A爲角度

示範: SIN(30) 返回sin值0.5

SMALL()

SMALL函數: 返回參數列表中第k個最小值,參數v是子表的某一個數字控制項,k爲返回的資料在數組v裏的位置(從小到大)

用法: SMALL(v,k)

SQRT()

SQRT函數: 獲得一個數字的正平方根,數字爲非負數

示範: SQRT(9)返回3,也就是9的正平方根

Sum()

SUM函數是一個求和函數

用法:SUM(v)統計輸入參數的數值之和,參數v是子表的某一個數字控制項

示範:計算學產生績總分。【成績明細】裏面有3個科目,【總分】顯示這三個科目的成績總和。

SUMIF()

SUMIF函數:對符合條件的子表參數求和,參數range是用於判斷的控制項,criteria是以數字、文本或表達式形式的條件,參數sum_range是需要求和的子表某個數值型控制項

用法: SUMIF(range,criteria,sum_range)

示範:SUMIF(訂單狀態,=='已完成',訂單明細.銷售金額)

Round()

ROUND將數字四捨五入到指定的位數

用法:ROUND(number, num_digits)將數字四捨五入到指定的位數,number爲要處理的數字,num_digits爲指定小數位數

示範:當數值相除後小數很多的情況,可以利用ROUND進行四捨五入到指定位數。【均價】四捨五入後保留位小數。

Value()

VALUE函數用於將表示數字的文本字符串轉換爲數值類型的函數

用法:通過VALUE("單行文本"),可返回數值類型結果值;如果需轉換的文本內容中包含非數值,則不會返回結果

示範:用於將單行文本轉換爲數值類型,並參與到與其他數值計算的場景

文本函數

CONTAINS()

CONTAINS函數判斷參數1是否包含參數2的值,包含則返回true,不包含則返回false

用法:CONTAINS(參數1,參數2)

示範:當用章類型不選擇時,預設隱藏公用章、合同章控制項,選擇“公用章”時,顯示公用章控制項,選擇“合同章”時,則顯示合同章控制項

GETADDRESS()

GETADDRESS函數將地址控制項的值轉換爲文本字符串

用法:GETADDRESS(地址控制項)

示範:手動選擇具體的客戶地址訊息然後轉換爲字符文本格式

GETUNITNAME()

GETUNITNAME函數: 文本格式返回指定人員或部門(包括單選和多選)控制項對應的人員或部門名稱

示範: GETUNITNAME(人員/部門控制項),人員/部門控制項選擇“測試,小李,小王,小馬”,返回:測試;小李;小王;小馬

LEFT()

LEFT函數: 從一個文本的第一個字符開始返回指定個數的字符

示範: LEFT("微程式應用搭建工具",2)返回"微程式",也就是"微程式應用搭建工具"的從左往右的前2個字符

LEN()

LEN函數: 獲得文本中的字符個數

示範: LEN("微程式應用搭建工具")返回8,因爲文本中有8個字符

LOWER()

LOWER函數: 將一個文本中的所有大寫字母轉換爲小寫字母

示範: LOWER("H3YUN")返回"h3yun"

REPLACE()

REPLACE函數可以使用其他文本字符串並根據所指定的字符數替換某文本字符串中的部分文本

用法:REPLACE(old_text,start_num,num_chars,new_text),old_text爲某文本字符串,start_num爲要替換的起始位置編號,num_chars爲要替換的字符個數,new_text爲替換後的字符串

示範:REPLACE(手機號,4,4,"")會返回1350101

RIGHT()

RIGHT函數: 從文本字符串的最後一個字符開始返回指定個數的字符,若不填指定個數則取預設值1

示範: RIGHT("微程式應用搭建工具",4)返回"搭建工具",也就是"微程式應用搭建工具"從右往左的前4個字符

SEARCH()

SEARCH函數: 獲得文本1在文本2中的開始位置,其中開始位置編碼爲在文本2中第幾個位置開始查找

用法:SEARCH(文本1,文本2,開始位置編碼)

示範: SEARCH("工具","微程式應用搭建工具",1)返回6,找不到返回-1

STARTSWITH()

STARTSWITH函數: 判斷文本字符串是否以特定字符串開始,是則返回true,否則返回false

示範: STARTSWITH("微程式應用搭建工具","微程式")返回true

STRING():

STRING函數可以將多個資料項的值合併成一個文本

用法:STRING(資料項1,資料項2,…),支持簡短文字、日期、數值、選人控制項類型的資料項;

示範:STRING(“奧哲微程式“,”張三“)會返回”奧哲微程式張三“

SUBSTITUTE()

SUBSTITUTE函數: 將文本字符串中的部分字符替換成新字符串

用法:SUBSTITUTE(單行文本,要替換的字符創,被替換成的字符串,替換次數)

示範: SUBSTITUTE("微程式低代碼搭建工具","低代碼","應用",1),返回"微程式應用搭建工具"

SUBSTRING()

SUBSTRING(【參數】,s,e),文本截取函數

用法:SUBSTRING(資料項,開始位置,結束位置);

示範:SUBSTRING(資料項,2,7),資料項的內容爲“奧哲微程式低代碼平臺”,會返回“微程式低代碼”;

說明:資料項只支持簡短文字類型的資料項;結束位置允許不輸入,當結束位置不輸入時,將截取到文本的最後位置;第一個字符開始位置是0;

TEXT()

TEXT函數: 將數字轉換成文本

示範: TEXT(123)

TRIM()

TRIM函數: 刪掉文本首尾的空格

示範: TRIM(" 微程式 ")返回"微程式"

UNION()

UNION函數: 合併多個文本數組,返回結果去重,參數可以是多個主表控制項,如UNION(文本1,文本2,文本3...),也可以是數組如UNION(子表控制項),也可以是輸入文本;參數只能是文本類型

示範: UNION(參數1,[參數2...])

UPPER()

UPPER函數: 將一個文本中的所有小寫字母轉換成大寫字母

示範: UPPER("h3yun")返回"H3YUN"

UPPERMONEY()

UPPERMONEY函數將數值轉爲中文大寫金額

用法:UPPERMONEY(數值),在和金額相關的系統中,爲了符合財務的標準或防塗改等,採用此函數即可將數值型轉爲中文大寫金額

示範:【金額】輸入100,【大寫金額】顯示爲壹佰元整

時間函數

ADDDAY()

ADDDAY函數可以指定日期加/減指定天數,指定天數爲負數是爲減,時間單位爲天

用法:ADDDAY(【指定時間】,【指定天數】),單位是"d"

示範:ADDDAY(項目開始時間,項目天數),【項目開始時間】是2020-01-01、【項目預計天數】是60天,計算【項目預計完成時間】爲2020-03-01

ADDHOUR()

ADDHOUR函數:ADDHOUR函數可以指定時刻加/減指定時刻,指定時刻爲負數是爲減,時間單位爲小時

用法:ADDHOUR(【指定時刻】,【指定小時數】),單位是"h"

示範:ADDHOUR(工單送出時間,工單處理時限);【工單送出時間】是2020-01-01 12:00:00、【工單處理時限】是24小時,通過計算【工單預計處理結束時間】是2020-01-02 12:00:00

ADDMINUTE()

ADDMINUTE函數:ADDMINUTE函數可以指定時刻加/減指定時刻,指定時刻爲負數是爲減,時間單位爲分鐘

用法:ADDMINUTE(【指定時刻】,【指定分鐘數】),單位是"min"

示範:ADDMINUTE(借閱開始時間,借閱預計時間);錄入【借閱開始時間】、【借閱預計天數】,通過ADDMINUTE函數自動填入【圖書預計歸還時間】

ADDMONTH()

ADDMONTH函數可以指定日期加/減指定月份,指定月份爲負數是爲減,時間單位爲月

用法:ADDMONTH(【指定時間】,【指定月份】),單位是"M"

示範:ADDMONTH(項目開始時間,項目天數),錄入【項目開始時間】、【項目預計天數】,通過ADDMONTH函數自動填入【項目預計完成時間】

ADDYEAR()

ADDYEAR函數:ADDYEAR函數可以指定日期加/減指定年數,指定年數份爲負數是爲減,時間單位爲年

用法:ADDYEAR(【指定時間】,【指定年數】),單位是"y"

示範:ADDYEAR(合同開始時間,合同有效年限),錄入【合同開始時間】、【合同有效年限】,通過ADDYEAR函數自動填入【合同到期時間】

DATE()

DATE函數: 將年月日時分秒轉換爲日期

用法:DATE(【文本欄位】)、DATE('2024-10-23 23:13:34')

示範:

- DATE(【文本欄位】),文本欄位輸入2024-2-23 23:13:34,自動將文本內容轉爲日期2024-02-23 23:13:34填入日期控制項中
- DATE('2024-10-23 23:13:34')自動轉爲日期2024-10-23 23:13:34填入日期控制項中

Datedif()

DATEDIF函數可以計算兩個日期時間相差的年數、月數、天數、小時數、分鐘數、秒數;

用法:DATEDIF(【結束時間】,【開始時間】,【單位】),單位可以是”y”、”M”、”d”、”h”、”m“、”s”;

示範:DATEDIF(付款時間,下單時間,”h”),如果下單時間是9:00,付款時間是當天10:30,計算得到的小時差爲1.5小時。

DAY()

DAY函數可以獲得某日期是當月的第幾日

用法:DAY(時間戳),時間戳可以是日期類型的資料項,也可以之間輸入時間格式的文本;

示範:DAY(入職時間),如果入職時間是2020-01-20 9:00:00,會返回20日。

HOUR()

HOUR函數可以獲得某日期當中的小時數

用法:HOUR(時間戳),時間戳可以是日期類型的資料項,也可以之間輸入時間格式的文本;

示範:HOUR(入職時間),如果入職時間是2020-01-20 9:00:00,會返回9時。

MINUTE()

MINUTE函數可以獲得某日期當中的分鐘數

用法:MINUTE(時間戳),時間戳可以是日期類型的資料項,也可以之間輸入時間格式的文本;

示範:MINUTE(入職時間),如果入職時間是2020-01-20 9:30:00,會返回30分。

MONTH()

MONTH函數可以獲得某日期是當年的第幾月

用法:MONTH(時間戳),時間戳可以是日期類型的資料項,也可以之間輸入時間格式的文本;

示範:MONTH(入職時間),如果入職時間是2020-01-20 9:00:00,會返回1月。

NOW()

NOW函數: 返回目前時間,精確到時分秒,格式爲yyyy-MM-dd hh:mm:ss

示範: NOW(),直接返回目前時間:2024-03-22 14:02:23

QUARTER()

QUARTER函數可以獲得某日期是當年的第幾季度

用法:QUARTER(時間戳),時間戳可以是日期類型的資料項,也可以之間輸入時間格式的文本;

示範:QUARTER(入職時間),如果入職時間是2020-01-20 9:00:00,會返回1季度。

SECOND()

SECOND函數可以獲得某日期當中的秒鐘數

用法:SECOND(時間戳),時間戳可以是日期類型的資料項,也可以之間輸入時間格式的文本;

示範:SECOND(入職時間),如果入職時間是2020-01-20 9:30:30,會返回30秒。

TODAY()

TODAY函數可以獲得當天日期

用法:返回今天的日期,格式爲:yyyy-MM-dd

示範:TODAY(),通過TODAY函數自動填入【日期】。

WEEKDAY()

WEEKDAY函數可以返回指定日期date爲星期幾

用法:WEEKDAY(date)

示範:錄入【填寫日期】,通過WEEKDAY函數自動填入【星期】

WEEKNUM()

WEEKNUM函數可以獲得某日期是當年的第幾周

用法:WEEKNUM(時間戳),時間戳可以是日期類型的資料項,也可以之間輸入時間格式的文本;

示範:WEEKNUM(入職時間),如果入職時間是2020-01-20 9:00:00,會返回第4周。

YEAR()

YEAR函數可以獲得某日期的年份

用法:YEAR(時間戳),時間戳可以是日期類型的資料項,也可以之間輸入時間格式的文本;

示範:YEAR(入職時間),如果入職時間是2020-01-20 9:00:00,會返回2020年。

邏輯函數

CASE()

CASE函數: 判斷是否滿足條件,且返回符合第一個條件的值,CASE可以取代多個IF語句嵌套

用法: CASE(條件表達式1,條件表達式1爲true返回該值,條件表達式2,條件表達式2爲true返回該值,...)

示範:CASE(數值>0,'正數',數值<0,'負數')

If()

IF函數可以對資料項進行判斷,然後給出對應的顯示文案

用法:IF (資料項>n,顯示值1,顯示值2),資料項是“數值”

示範:IF(成績>60,'及格','不及格')錄入【成績】,通過IF函數的比對自動填入【及格】【不及格】

備註:顯示值爲常量需要英文單引號'',比如'及格';如果顯示值爲資料項,不需要新增英文單引號

其他函數

ISNULL()

ISNULL函數: 判斷是否爲空,爲空則返回true,不爲空則返回false,可用於判斷具體值或者某個欄位

示範: ISNULL(附件)

更新: 2024-09-29 14:34:57
原文: https://www.yuque.com/skwme4/hyk0u0/vfop1d