# monthsstart スクリプトおよびチャート関数

この関数は、ベース日付を含む月、2 か月、四半期、4 か月、半年のいずれかの期間の最初のミリ秒のタイムスタンプに相当する値を返します。その前後の期間のタイムスタンプを取得することもできます。既定のアウトプット形式は、スクリプトに設定されている DateFormat です。

構文:

MonthsStart(n\_months, date[, period\_no [, first\_month\_of\_year]])

戻り値データ型： デュアル

`monthsstart()` 関数の図

`monthsstart()` 関数の図

`monthsstart()`monthsstart() 関数の図 ![関数の各要素が一緒にタイムスタンプ結果を返す様子を示す例の図。](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-monthsstart-general.png)

`monthsstart()` 関数は、指定された `n_months` 引数に基づいて年をセグメントに分割します。次に、提供された各日付がどのセグメントに該当するかを評価し、そのセグメントの最初のミリ秒を日付形式で返します。この関数には、前後のセグメントから開始タイムスタンプを返したり、年の最初の月を再定義したりする機能もあります。

次の年のセグメントは、 `n_month` 引数として関数で使用できます。

考えられる `n_month`n\_month 引数

| 期間 | 月数 |
| --- | --- |
| 月 | 1 |
| 隔月 | 2 |
| 四半期 | 3 |
| 4 か月 | 4 |
| 半年 | 6 |

引数

| 引数 | 説明 |
| --- | --- |
| n\_months | 期間を定義する月数。整数、または計算結果が整数になる数式で次のうちのいずれかでなければならない。1 (inmonth() 関数と同機能)、2 (2 か月)、3 (inquarter() 関数と同機能)、4 (4 か月)、6 (半年)。 |
| date | 評価する日付またはタイムスタンプ。 |
| period\_no | 期間は、period\_no、整数、計算結果が整数になる数式を使用して補正できます。値 0 は base\_date を含む期間を示します。period\_no の値が負の場合は過去の期間を、正の場合は将来の期間を示します。 |
| first\_month\_of\_year | 事業年度が 1 月以外の月に始まる場合は、first\_month\_of\_year で 2 から 12 の間の値を指定します。 |

## monthsstart の使用目的

`monthsstart()` 関数は、ユーザーがまだ発生していない期間の端数を計算に使用する場合に、数式の一部として一般的に使用されます。これは、例えば、入力変数を提供して、ユーザーが月、四半期、半年でこれまでに累積した合計利息を計算するために使用できます。

関数の例

| 例 | 結果 |
| --- | --- |
| `monthsstart(4, '10/19/2013')` | 09/01/2013 を返します。 |
| `monthsstart(4, '10/19/2013, -1)` | 05/01/2013 を返します。 |
| `monthsstart(4, '10/19/2013', 0, 2<br>)` | 年の開始が 2 月になるため、10/01/2013 を返します。 |

## リージョンの設定

特に指定のない限り、このトピックの例では MM/DD/YYYY の日付書式を使用しています。 日付書式は、データ ロード スクリプトの `SET DateFormat` ステートメントで指定されています。既定の日付書式は、リージョンの設定やその他の要因により、システムによって異なる場合があります。以下の例の書式は、要件に合わせて変更できます。または、これらの例に一致するようにロード スクリプトの書式を変更できます。詳しくは「[アプリケーションとスクリプトの地域設定の変更](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/Apps/regional-settings-in-apps.htm)」を参照してください。

アプリケーションの既定のリージョン設定は、ユーザー プロファイルに基づいています。これらのリージョンの書式設定は、Qlik Cloud ユーザー インターフェースに表示される言語とは関係ありません。Qlik Cloud は使用しているブラウザと同じ言語で表示されます。

アプリケーションの作成者は、作成するアプリケーションの既定のリージョンを設定できます。詳細については、「[Qlik Cloud Analytics でアプリとスクリプトを作成するための優先地域設定の設定](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/UserInterface/Languages.htm#Setting)」を参照してください。

## 例 1 – 追加の引数なし

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/monthsstart.htm)

#### ロード スクリプトと結果

概要

データ ロード エディターを開き、以下のロード スクリプトを新しいセクションに追加します。

ロード スクリプトには次が含まれています:

* `Transactions` というテーブルにロードされる、2022 年の一連のトランザクションを含むデータセット。

* `DateFormat` システム変数形式 (MM/DD/YYYY) で提供されている日付項目。

* トランザクションを 2 か月のセグメントにグループ化し、トランザクションごとにそのセグメントの開始タイムスタンプを返す項目 [`bi_monthly_start`] の作成。

ロード スクリプト

```
SET DateFormat='MM/DD/YYYY';

Transactions:
    Load
        *,
        monthsstart(2,date) as bi_monthly_start,
        timestamp(monthsstart(2,date)) as bi_monthly_start_timestamp
        ;
Load
*
Inline
[
id,date,amount
8188,2/19/2022,37.23
8189,3/7/2022,17.17
8190,3/30/2022,88.27
8191,4/5/2022,57.42
8192,4/16/2022,53.80
8193,5/1/2022,82.06
8194,5/7/2022,40.39
8195,5/22/2022,87.21
8196,6/15/2022,95.93
8197,6/26/2022,45.89
8198,7/9/2022,36.23
8199,7/22/2022,25.66
8200,7/23/2022,82.77
8201,7/27/2022,69.98
8202,8/2/2022,76.11
8203,8/8/2022,25.12
8204,8/19/2022,46.23
8205,9/26/2022,84.21
8206,10/14/2022,96.24
8207,10/29/2022,67.67
];
```

結果

データをロードしてシートを開きます。新しいテーブルを作成し、これらの項目を軸として追加します:

* `date`

* `bi_monthly_start`

* `bi_monthly_start_timestamp`

結果テーブル

| date | bi\_monthly\_start | bi\_monthly\_start\_timestamp |
| --- | --- | --- |
| 2/19/2022 | 01/01/2022 | 1/1/2022 12:00:00 AM |
| 3/7/2022 | 03/01/2022 | 3/1/2022 12:00:00 AM |
| 3/30/2022 | 03/01/2022 | 3/1/2022 12:00:00 AM |
| 4/5/2022 | 03/01/2022 | 3/1/2022 12:00:00 AM |
| 4/16/2022 | 03/01/2022 | 3/1/2022 12:00:00 AM |
| 5/1/2022 | 05/01/2022 | 5/1/2022 12:00:00 AM |
| 5/7/2022 | 05/01/2022 | 5/1/2022 12:00:00 AM |
| 5/22/2022 | 05/01/2022 | 5/1/2022 12:00:00 AM |
| 6/15/2022 | 05/01/2022 | 5/1/2022 12:00:00 AM |
| 6/26/2022 | 05/01/2022 | 5/1/2022 12:00:00 AM |
| 7/9/2022 | 07/01/2022 | 7/1/2022 12:00:00 AM |
| 7/22/2022 | 07/01/2022 | 7/1/2022 12:00:00 AM |
| 7/23/2022 | 07/01/2022 | 7/1/2022 12:00:00 AM |
| 7/27/2022 | 07/01/2022 | 7/1/2022 12:00:00 AM |
| 8/2/2022 | 07/01/2022 | 7/1/2022 12:00:00 AM |
| 8/8/2022 | 07/01/2022 | 7/1/2022 12:00:00 AM |
| 8/19/2022 | 07/01/2022 | 7/1/2022 12:00:00 AM |
| 9/26/2022 | 09/01/2022 | 9/1/2022 12:00:00 AM |
| 10/14/2022 | 09/01/2022 | 9/1/2022 12:00:00 AM |
| 10/29/2022 | 09/01/2022 | 9/1/2022 12:00:00 AM |

[`bi_monthly_start`] 項目は、`monthsstart()` 関数を使用して、先行する LOAD ステートメントで作成されます。提供される最初の引数は 2 で、年を 2 か月のセグメントに分割します。2 番目の引数は、評価される項目を識別します。

`monthsstart()` 関数の図、追加の引数がない例

`monthsstart()` 関数の図、追加の引数がない例

`monthsstart()`monthsstart() 関数の図、追加の引数がない例 ![monthsstart 関数を使用して、トランザクションが発生した年のセグメントを特定した結果を示す図。](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-monthsstart-example-no-add-arg.png)

トランザクション 8195 は 5 月 22 日に発生します。 `` 関数は、最初に年を 2 か月のセグメントに分割します。monthsstart() トランザクション 8195 は、5 月 1 日～6 月 30 日のセグメントに分類されます。そのため、関数はこのセグメントの最初のミリ秒 2022 年 5 月 1 日 12:00:00 AM を返します。

## 例 2 – period\_no

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/monthsstart.htm)

#### ロード スクリプトと結果

概要

データ ロード エディターを開き、以下のロード スクリプトを新しいセクションに追加します。

ロード スクリプトには次が含まれています:

* 最初の例と同じデータセットとシナリオ。

* タスクはトランザクションが発生する前の 2 か月セグメントの最初のタイムスタンプを返す項目 [`prev_bi_monthly_start`] の作成。

ロード スクリプト

```
SET DateFormat='MM/DD/YYYY';

Transactions:
    Load
        *,
        monthsstart(2,date,-1) as prev_bi_monthly_start,
	    timestamp(monthsstart(2,date,-1)) as prev_bi_monthly_start_timestamp
	    ;
Load
*
Inline
[
id,date,amount
8188,2/19/2022,37.23
8189,3/7/2022,17.17
8190,3/30/2022,88.27
8191,4/5/2022,57.42
8192,4/16/2022,53.80
8193,5/1/2022,82.06
8194,5/7/2022,40.39
8195,5/22/2022,87.21
8196,6/15/2022,95.93
8197,6/26/2022,45.89
8198,7/9/2022,36.23
8199,7/22/2022,25.66
8200,7/23/2022,82.77
8201,7/27/2022,69.98
8202,8/2/2022,76.11
8203,8/8/2022,25.12
8204,8/19/2022,46.23
8205,9/26/2022,84.21
8206,10/14/2022,96.24
8207,10/29/2022,67.67
];
```

結果

データをロードしてシートを開きます。新しいテーブルを作成し、これらの項目を軸として追加します:

* `date`

* `prev_bi_monthly_start`

* `prev_bi_monthly_start_timestamp`

結果テーブル

| date | prev\_bi\_monthly\_start | prev\_bi\_monthly\_start\_timestamp |
| --- | --- | --- |
| 2/19/2022 | 11/01/2021 | 11/1/2021 12:00:00 AM |
| 3/7/2022 | 01/01/2022 | 1/1/2022 12:00:00 AM |
| 3/30/2022 | 01/01/2022 | 1/1/2022 12:00:00 AM |
| 4/5/2022 | 01/01/2022 | 1/1/2022 12:00:00 AM |
| 4/16/2022 | 01/01/2022 | 1/1/2022 12:00:00 AM |
| 5/1/2022 | 03/01/2022 | 3/1/2022 12:00:00 AM |
| 5/7/2022 | 03/01/2022 | 3/1/2022 12:00:00 AM |
| 5/22/2022 | 03/01/2022 | 3/1/2022 12:00:00 AM |
| 6/15/2022 | 03/01/2022 | 3/1/2022 12:00:00 AM |
| 6/26/2022 | 03/01/2022 | 3/1/2022 12:00:00 AM |
| 7/9/2022 | 05/01/2022 | 5/1/2022 12:00:00 AM |
| 7/22/2022 | 05/01/2022 | 5/1/2022 12:00:00 AM |
| 7/23/2022 | 05/01/2022 | 5/1/2022 12:00:00 AM |
| 7/27/2022 | 05/01/2022 | 5/1/2022 12:00:00 AM |
| 8/2/2022 | 05/01/2022 | 5/1/2022 12:00:00 AM |
| 8/8/2022 | 05/01/2022 | 5/1/2022 12:00:00 AM |
| 8/19/2022 | 05/01/2022 | 5/1/2022 12:00:00 AM |
| 9/26/2022 | 07/01/2022 | 7/1/2022 12:00:00 AM |
| 10/14/2022 | 07/01/2022 | 7/1/2022 12:00:00 AM |
| 10/29/2022 | 07/01/2022 | 7/1/2022 12:00:00 AM |

-1 を `period_no` 関数の `monthsstart()` 引数として使用することにより、最初に 1 年を 2 か月のセグメントに分割した後、関数はトランザクションが発生したときの以前の 2 か月セグメントの最初のミリ秒を返します。

`monthsstart()` 関数の図、period\_no の例

`monthsstart()` 関数の図、period\_no の例

`monthsstart()`monthsstart() 関数の図、period\_no の例 ![monthsstart 関数を使用して、トランザクションが発生した年のセグメントを特定した結果を示す図。](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-monthsstart-example-period-no.png)

トランザクション 8195 は、5 月～6 月のセグメントに発生します。そのため、前の 2 か月セグメントは 3 月 1～4 月 30 日だったため、関数はこのセグメントの最初のミリ秒 2022 年 3 月 1 日 12:00:00 AM を返します。

## 例 3 – first\_month\_of\_year

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/monthsstart.htm)

#### ロード スクリプトと結果

概要

データ ロード エディターを開き、以下のロード スクリプトを新しいセクションに追加します。

ロード スクリプトには次が含まれています:

* 最初の例と同じデータセットとシナリオ。

* トランザクションを 2 か月のセグメントにグループ化し、トランザクションごとにそのセットの開始タイムスタンプを返す項目 [`bi_monthly_start`] の作成。

ただし、この例では、4 月を会計年度の最初の月として設定する必要もあります。

ロード スクリプト

```
SET DateFormat='MM/DD/YYYY';

Transactions:
    Load
        *,
        monthsstart(2,date,0,4) as bi_monthly_start,
        timestamp(monthsstart(2,date,0,4)) as bi_monthly_start_timestamp
        ;
Load
*
Inline
[
id,date,amount
8188,1/7/2022,17.17
8189,1/19/2022,37.23
8190,2/28/2022,88.27
8191,2/5/2022,57.42
8192,3/16/2022,53.80
8193,4/1/2022,82.06
8194,5/7/2022,40.39
8195,5/16/2022,87.21
8196,6/15/2022,95.93
8197,6/26/2022,45.89
8198,7/9/2022,36.23
8199,7/22/2022,25.66
8200,7/23/2022,82.77
8201,7/27/2022,69.98
8202,8/2/2022,76.11
8203,8/8/2022,25.12
8204,8/19/2022,46.23
8205,9/26/2022,84.21
8206,10/14/2022,96.24
8207,10/29/2022,67.67
];
```

結果

データをロードしてシートを開きます。新しいテーブルを作成し、これらの項目を軸として追加します:

* `date`

* `bi_monthly_start`

* `bi_monthly_start_timestamp`

結果テーブル

| date | bi\_monthly\_start | bi\_monthly\_start\_timestamp |
| --- | --- | --- |
| 2/19/2022 | 02/01/2022 | 2/1/2022 12:00:00 AM |
| 3/7/2022 | 02/01/2022 | 2/1/2022 12:00:00 AM |
| 3/30/2022 | 02/01/2022 | 2/1/2022 12:00:00 AM |
| 4/5/2022 | 04/01/2022 | 4/1/2022 12:00:00 AM |
| 4/16/2022 | 04/01/2022 | 4/1/2022 12:00:00 AM |
| 5/1/2022 | 04/01/2022 | 4/1/2022 12:00:00 AM |
| 5/7/2022 | 04/01/2022 | 4/1/2022 12:00:00 AM |
| 5/22/2022 | 04/01/2022 | 4/1/2022 12:00:00 AM |
| 6/15/2022 | 06/01/2022 | 6/1/2022 12:00:00 AM |
| 6/26/2022 | 06/01/2022 | 6/1/2022 12:00:00 AM |
| 7/9/2022 | 06/01/2022 | 6/1/2022 12:00:00 AM |
| 7/22/2022 | 06/01/2022 | 6/1/2022 12:00:00 AM |
| 7/23/2022 | 06/01/2022 | 6/1/2022 12:00:00 AM |
| 7/27/2022 | 06/01/2022 | 6/1/2022 12:00:00 AM |
| 8/2/2022 | 08/01/2022 | 8/1/2022 12:00:00 AM |
| 8/8/2022 | 08/01/2022 | 8/1/2022 12:00:00 AM |
| 8/19/2022 | 08/01/2022 | 8/1/2022 12:00:00 AM |
| 9/26/2022 | 08/01/2022 | 8/1/2022 12:00:00 AM |
| 10/14/2022 | 10/01/2022 | 10/1/2022 12:00:00 AM |
| 10/29/2022 | 10/01/2022 | 10/1/2022 12:00:00 AM |

`monthsstart()` 関数の `first_month_of_year` 引数に 4 を使用することにより、関数は 4 月 1 日に年度を開始します。その後その年度を 2 か月単位のセグメントに分割します。

`monthsstart()` 関数の図、first\_month\_of\_year の例

`monthsstart()` 関数の図、first\_month\_of\_year の例

`monthsstart()`monthsstart() 関数の図、first\_month\_of\_year の例 ![monthsstart 関数を使用して、トランザクションが発生した年のセグメントを特定した結果を示す図。](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-monthsstart-example-first-mth-yr.png)

トランザクション 8195 は 5 月 22 日に発生し、4 月 1 日～5 月 31 日のセグメントに分類されます。そのため、関数はこのセグメントの最初のミリ秒 2022 年 4 月 1 日 12:00:00 AM を返します。

## 例 4 – チャート オブジェクトの例

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/monthsstart.htm)

#### ロード スクリプトとチャートの数式

概要

データ ロード エディターを開き、以下のロード スクリプトを新しいタブに追加します。

ロード スクリプトには、最初の例と同じデータセットとシナリオが含まれます。

ただし、この例では、変更されていないデータセットがアプリケーションにロードされます。トランザクションを 2 か月のセグメントにグループ化し、トランザクションごとにそのセットの開始タイムスタンプを返す計算は、アプリケーションのチャート オブジェクトでメジャーとして作成されます。

ロード スクリプト

```
SET DateFormat='MM/DD/YYYY';

Transactions:
Load
*
Inline
[
id,date,amount
8188,2/19/2022,37.23
8189,3/7/2022,17.17
8190,3/30/2022,88.27
8191,4/5/2022,57.42
8192,4/16/2022,53.80
8193,5/1/2022,82.06
8194,5/7/2022,40.39
8195,5/22/2022,87.21
8196,6/15/2022,95.93
8197,6/26/2022,45.89
8198,7/9/2022,36.23
8199,7/22/2022,25.66
8200,7/23/2022,82.77
8201,7/27/2022,69.98
8202,8/2/2022,76.11
8203,8/8/2022,25.12
8204,8/19/2022,46.23
8205,9/26/2022,84.21
8206,10/14/2022,96.24
8207,10/29/2022,67.67
];
```

結果

データをロードしてシートを開きます。新しいテーブルを作成し、この項目を軸として追加します:date。

次のメジャーを作成します:

=monthsstart(2,date)

=timestamp(monthsstart(2,date))

これらの計算は、各トランザクションが発生する 2 か月の開始タイムスタンプを取得します。

結果テーブル

| date | =monthsstart(2,date) | =timestamp(monthsstart(2,date)) |
| --- | --- | --- |
| 9/26/2022 | 09/01/2022 | 9/1/2022 12:00:00 AM |
| 10/14/2022 | 09/01/2022 | 9/1/2022 12:00:00 AM |
| 10/29/2022 | 09/01/2022 | 9/1/2022 12:00:00 AM |
| 7/9/2022 | 07/01/2022 | 7/1/2022 12:00:00 AM |
| 7/22/2022 | 07/01/2022 | 7/1/2022 12:00:00 AM |
| 7/23/2022 | 07/01/2022 | 7/1/2022 12:00:00 AM |
| 7/27/2022 | 07/01/2022 | 7/1/2022 12:00:00 AM |
| 8/2/2022 | 07/01/2022 | 7/1/2022 12:00:00 AM |
| 8/8/2022 | 07/01/2022 | 7/1/2022 12:00:00 AM |
| 8/19/2022 | 07/01/2022 | 7/1/2022 12:00:00 AM |
| 5/1/2022 | 05/01/2022 | 5/1/2022 12:00:00 AM |
| 5/7/2022 | 05/01/2022 | 5/1/2022 12:00:00 AM |
| 5/22/2022 | 05/01/2022 | 5/1/2022 12:00:00 AM |
| 6/15/2022 | 05/01/2022 | 5/1/2022 12:00:00 AM |
| 6/26/2022 | 05/01/2022 | 5/1/2022 12:00:00 AM |
| 3/7/2022 | 03/01/2022 | 3/1/2022 12:00:00 AM |
| 3/30/2022 | 03/01/2022 | 3/1/2022 12:00:00 AM |
| 4/5/2022 | 03/01/2022 | 3/1/2022 12:00:00 AM |
| 4/16/2022 | 03/01/2022 | 3/1/2022 12:00:00 AM |
| 2/19/2022 | 01/01/2022 | 1/1/2021 12:00:00 AM |

monthsstart() 関数の図、チャート オブジェクトの例

monthsstart() 関数の図、チャート オブジェクトの例

monthsstart()monthsstart() 関数の図、チャート オブジェクトの例 ![monthsstart 関数を使用して、トランザクションが発生した年のセグメントを特定した結果を示す図。](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-monthsstart-example-chart-object.png)

トランザクション 8195 は 5 月 22 日に発生しました。 関数は、最初に年を 2 か月のセグメントに分割します。monthsstart() トランザクション 8195 は、5 月 1 日～6 月 30 日のセグメントに分類されます。そのため、関数はこのセグメントの最初のミリ秒 05/01/2022 12:00:00 AM を返します。

## 例 5 – シナリオ

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/monthsstart.htm)

#### ロード スクリプトとチャートの数式

概要

データ ロード エディターを開き、以下のロード スクリプトを新しいセクションに追加します。

ロード スクリプトには次が含まれています:

* Loans というテーブルにロードされる、一連のローン残高を含むデータセット。

* ローン ID、月の開始の残高、各ローンにかかる単利の年率で構成されるデータ。

エンド ユーザーは、選択した期間の各ローンで発生した現在の利息をローン ID 別に表示するチャート オブジェクトを求めています。会計年度は 1 月に始まります。

ロード スクリプト

```
SET DateFormat='MM/DD/YYYY';

Loans:
Load
*
Inline
[
loan_id,start_balance,rate
8188,$10000.00,0.024
8189,$15000.00,0.057
8190,$17500.00,0.024
8191,$21000.00,0.034
8192,$90000.00,0.084
];
```

結果

データをロードしてシートを開きます。

ロード スクリプトの開始時には、変数入力コントロールに関連付けられる変数 (vPeriod) が作成されています。次に、変数をシートのカスタム オブジェクトとして構成します。

次の手順を実行します。

1. アセット パネルで、 [チャート] をクリックします。

2. [ダッシュボード オブジェクト] で、 [変数入力] をシート上にドラッグします。

3. チャート オブジェクトのタイトルを入力します。

4. [変数] で、[名前] に [vPeriod] を選択し、オブジェクトを [ドロップ ダウン] として表示するように設定します。

5. [値] で、動的な値を使用するようにオブジェクトを構成します。以下を入力します。  
   ='1~month|2~bi-month|3~quarter|4~tertial|6~half-year'

次に、結果テーブルを作成します。

次の手順を実行します。

1. 新しいテーブルを作成します。次の項目を軸として追加します。

   * employee\_id

   * employee\_name

2. メジャーを作成して、累積利息を計算します。

   =start\_balance\*(rate\*(today(1)-monthsstart($(vPeriod),today(1)))/365)

3. メジャーの [数値書式] を [通貨] に設定します。編集を終了するには、 [シートを編集] をクリックします。変数オブジェクトの時間セグメントを調整することで、テーブルに表示されているデータを変更できるようになりました。

month 期間オプションを選択した場合の結果テーブルは次のようになります。

結果テーブル

| loan\_id | start\_balance | =start\_balance\*(rate\*(today(1)-monthsstart($(vPeriod),today(1)))/365) |
| --- | --- | --- |
| 8188 | $10000.00 | $7.95 |
| 8189 | $15000.00 | $67.93 |
| 8190 | $17500.00 | $33.37 |
| 8191 | $21000.00 | $56.73 |
| 8192 | $90000.00 | $600.66 |

monthsstart() 関数は、最初の引数としてユーザーの入力を、2 番目の引数として今日の日付を使用し、ユーザーが選択した期間の開始日付を返します。その結果を現在の日付から減算することにより、数式はこの期間で経過した日数を返します。

次に、この値に利率を乗算して 365 で除算すると、この期間に発生する実効利率が返されます。次に、結果にローンの開始残高を掛けると、この期間でこれまでに発生した利息を返されます。