# RangeCount - 指令碼與圖表函數

RangeCount() 會傳回運算式或欄位中的值（文字值和數值）的數量。

語法：

RangeCount(first\_expr[, Expression])

傳回的資料類型： 整數

引數：

此函數的引數可包含其本身就會傳回值清單的記錄間函數。

* first\_expr：包含待計算資料的運算式或欄位。
* Expression：包含待計算額外資料的選用運算式或欄位。

限制：

NULL 值不在計算範圍內。

範例：

範例與結果

| 範例 | 結果 |
| --- | --- |
| `RangeCount  (1,2,4)` | 傳回 3 |
| `RangeCount  (2,'xyz')` | 傳回 2 |
| `RangeCount  (null( ))` | 傳回 0 |
| `RangeCount  (2,'xyz', null())` | 傳回 2 |

範例： (使用運算式)

`RangeCount 			(Above(MyField,1,3))`

傳回 MyField 的三個結果中包含的值數目。若將 Above() 函數的第二和第三個引數指定為 3，該函數會從目前列上方的這三個欄位傳回值 (上方需有足夠的列)，並作為 RangeSum() 函數的輸入。

範例運算式輸出

| MyField | RangeCount(Above(MyField,1,3)) |
| --- | --- |
| 10 | 0 |
| 2 | 1 |
| 8 | 2 |
| 18 | 3 |
| 5 | 3 |
| 9 | 3 |

**範例中使用的資料：**

`RangeTab:` `LOAD * INLINE [` `MyField` `10` `2` `8` `18` `5` `9` `] ;`

範例： (以表格形式)

新增範例指令碼到您的文件中並加以執行。然後至少將結果資料行中所列的欄位新增至您文件中的工作表，以查看結果。

`RangeTab3:` `LOAD recno() as RangeID, RangeCount(Field1,Field2,Field3) as MyRangeCount INLINE [` `Field1, Field2, Field3` `10,5,6` `2,3,7` `8,2,8` `18,11,9` `5,5,9` `9,4,2`

`];`

產生的表格顯示表格中各記錄的 MyRangeCount 傳回值。

表格形式的範例輸出

| RangeID | MyRangeCount |
| --- | --- |
| 1 | 3 |
| 2 | 3 |
| 3 | 3 |
| 4 | 3 |
| 5 | 3 |
| 6 | 3 |

## 瞭解更多資訊

* [Count](https://help.qlik.com/zh-TW/qlikview/May2024/Subsystems/Client/Content/QV_QlikView/ChartFunctions/CounterAggregationFunctions/count.htm)
* [NumCount - 指令碼與圖表函數](https://help.qlik.com/zh-TW/qlikview/May2024/Subsystems/Client/Content/QV_QlikView/ChartFunctions/RangeFunctions/NumCount.htm)