1. 概述
運算子用於指定要對公式中的元素執行的計算型別。有預設計算順序,但可以使用括號更改此順序。
2. 運算子型別
有四種不同型別的計算運算子:算術、比較、邏輯和字串連接。
2.1 算術運算子
執行基本的數學運算,如加、減、乘、除等,在公式中使用以下算術運算子:
算數運算子 | 範例 | 結果 |
---|---|---|
+(加號) | = 3 + 3 | 6 |
-(減/負) | = 3 - 1 | 2 |
*(乘) | = 3 * 3 | 9 |
/(除) | = 15 / 3 | 5 |
%(取餘) | = 20 % 6 | 2 |
^(乘方) | = 3 ^ 2 | 9 |
2.2 比較運算子
可以使用下列運算子比較兩個值。使用這些運算子比較兩個值時,結果為邏輯值 TRUE 或 FALSE。
比較運算子 | 含義 | 範例 |
---|---|---|
=(等號) | 等於 | A1 = B1 |
>(大於號) | 大於 | A1 > B1 |
<(小於號) | 小於 | A1 < B1 |
>=(大於或等於號) | 大於等於 | A1 >= B1 |
<=(小於或等於號) | 小於等於 | A1 <= B1 |
!=(不等號)注:與 Excel 中的<> 不同。 | 不等於 | A1 != B1 |
2.3 邏輯運算子
邏輯運算子 | 含義 | 範例 |
---|---|---|
&& | 邏輯與,同時滿足多個表式條件 | 銷售額>=10&&銷售人數>=2 |
|| | 邏輯或,只要滿足多個表式條件中的一個即可 | 銷售額>=10||銷售人數>=2 |
注:邏輯運算子只能連結兩個布爾或數值型別的表式。
2.4 字串連接運算子
可以使用 + 運算子對文本欄位進行合併。
例如:將文本欄位「合同ID」和「是否已經交貨」連接在一起,當然可以使用 CONCATENATE 欄位,但更簡單的方案是直接使用「+」,如下圖所示:
3. 公式運算的次序
在某些情況下,執行計算的順序可能會影響公式的傳回值,因此,必須瞭解如何確定順序以及如何更改順序以獲取所需結果。
3.1 運算子優先
如果一個公式中有若干個運算子,FineBI 將按下表中的次序進行計算。 如果一個公式中的若干個運算子具有相同的優先順序(例如,如果一個公式中既有乘號又有除號),則 FineBI 將按照以下方向計算各運算子。
優先 | 運算子 | 含義 | 使用形式 | 結合方向 |
---|---|---|---|---|
1 | - | 負號 | -表式 | 右到左 |
2 | ^ | 乘方 | 表式^表式 | 左到右 |
3 | * | 乘 | 表式*表式 | |
/ | 除 | 表式/表式 | ||
% | 取餘 | 表式%表式 | ||
4 | + | 加 | 表式+表式 | |
- | 減 | 表式-表式 | ||
5 | > | 大於 | 表式>表式 | |
< | 小於 | 表式<表式 | ||
>= | 大於等於 | 表式>=表式 | ||
<= | 小於等於 | 表式<=表式 | ||
6 | =、== | 等於 | 表式=表式 表式==表式 | |
!= | 不等於 | 表式!=表式 | ||
7 | && | 邏輯與 | 表式&&表式 | |
8 | || | 邏輯或 | 表式||表式 |
3.2 使用括號計算方式
若要更改計算的順序,需要將公式中要先計算的部分用括號括起來。
例如,下面的公式生成 11,因為在加法之前計算乘法。 該公式先將 2 與 3 相乘,然後再將 1、4 與結果相加。
=1+2*3+4
但是,如果用括號對該文法進行更改,則會先將 1 與 2 相加在一起,然後再用結果乘以 3 ,再加上 4 得到 13。
=(1+2)*3+4