【AlteryxTips】Excelの日付関数をAlteryxで表現する方法

Excelの日付関数をAlteryxで表現する方法

 

こんにちは!MJです!

今回はExcelの日付関数で行っていた処理をAlteryxで実現する方法に関してご紹介します。

紹介するExcel関数一覧

Excel関数名 関数の説明
YEAR 関数 日付に対応する年を返します
MONTH 関数 日付に対応する月を返します
DAY 関数 日付に対応する日情報を返します
DATE 関数 年、月、日3つの情報を組み合わせて日付を作成します
TODAY 関数 現在の日付に対応する値を返します
WEEKDAY 関数 日付に対応する曜日を返します
EDATE 関数 開始日から指定された月数だけ前または後の日付に対応する値を返します
EOMONTH 関数 開始日から指定された月数だけ前または後の最終日に対応する値を返します
NETWORKDAYS 関数 開始日から終了日までの期間に含まれる稼動日の日数を返します
DATEDIF 関数 2 つの日付の間の日数、月数、または年数を計算します

 

各関数の使い方

YEAR、MONTH、DAY 関数

Excelの場合

以下の例では、日付データから「年」「月」「日」をそれぞれ抽出しています。

関数の引数として日付データを指定することで、値を取得できます。

Alteryxの場合

1. Formulaツールを使用

AlteryxのFormulaツールでは、日付関数を使って日付データから「年」「月」「日」を抽出できます。

使い方はExcelと同様で、関数の引数に日付を指定するだけです。

2. DateTimeツールを使用

日付形式を文字列形式に変換するオプションを選択し、出力フィールドの形式をカスタムで設定します。

カスタム形式欄に「yyyy」と入力すると年、「MM」で月、「dd」で日の部分が取得されます。

 

DATE 関数

Excelの場合

入力された「年」「月」「日」を1つの日付にまとめて変換します。

Alteryxの場合

使い方はExcelと同様です。

まず、「年」「月」「日」それぞれのデータ型をSelectツールで文字列型に変換します。

その後、Formulaツールを使用して日付データの列を作成します。

AlteryxのToDate("文字列")関数はyyyy-MM-ddの形式である必要があるため、月や日が1桁の場合にはPadLeft()関数で先頭に0を追加します。

 

TODAY 関数

Excelの場合

「=TODAY()」を使うと、簡単に「今日の日付」を取得できます。

Alteryxの場合

Excelと同様に、DateTimeToday()を使えば「今日の日付」を簡単に取得できます。

 

WEEKDAY 関数

Excelの場合

指定した日付の曜日を数値で返します。

返される数値は 1(日曜)〜 7(土曜)です。

Alteryxの場合

DateTimeFormat(日付、変換するデータ形式、 言語パラメーター)関数を使って、曜日を数値で取得できます。

第2引数に%uを指定すると 1(月曜)〜 7(日曜)、%wを指定すると 0(日曜)〜 6(土曜)で出力されます。

また、Alteryxでは曜日の名前を文字列で取得することも可能です。

%aは曜日の略称、%Aは曜日の正式名称を返します。

 

EDATE 関数

Excelの場合

「=EDATE(開始日, 月数)」を使うと、指定した日付から指定月数だけ移動した日付を返します。

以下の例では、3ヶ月後の日付を取得しています。

Alteryxの場合

DateTimeAdd関数を使えば、指定した日付に「年・月・日・時間単位」で加算・減算が可能です。

以下の例では、指定した日付から3ヶ月後の日付を出力しています。

 

EOMONTH 関数

Excelの場合

=EOMONTH(開始日, 月数)」を使うと、指定した日から特定月数が過ぎた月の最終日を返します。

以下の例では、3ヶ月後の月末日が返されています。

Alteryxの場合

Alteryxには、Excelのように最終日を直接返す関数はありません。

そのため、他の日付関数と組み合わせて最終日を算出します。

以下は、指定日に対して3ヶ月後の月末日を返す例です。

DateTimeAdd(Left(DateTimeAdd("指定日", 4, "month"), 7) + "-01", -1, "day")

この式の処理内容は以下の通りです:

  1. DateTimeAdd("指定日", 4, "month")4か月後の日付を取得

  2. Left(..., 7) + "-01" でその月の1日を作成

  3. その1日から1日引いて DateTimeAdd(..., -1, "day")3か月後の月末日を取得

 

NETWORKDAYS 関数

Excelの場合

=NETWORKDAYS(開始日, 終了日, [祝日])」を使うと、指定した期間の中で土日と祝日を除いた稼働日数を算出できます。

祝日を指定しない場合は、土日のみが除外されます。

Alteryxの場合

DateTimeWorkDays(開始日, 終了日)関数を使用することで、土日を除いた稼働日を計算できます。

 ※2025.1バージョンで追加された関数となります。

 

DATEDIF 関数

Excelの場合

=DATEDIF(開始日, 終了日, 単位)」は、2つの日付の差を単位に応じて返す関数です。

  • "Y":年数の差

  • "M":月数の差

  • "D":日数の差

Alteryxの場合

DateTimeDiff(終了日, 開始日, 単位)関数を使用して、2つの日付の差を単位別で計算できます。

  • "year":年

  • "month":月

  • "day":日

 

 

AlteryxDesigner初心者の方向け教育プログラム

京セラみらいエンビジョンでは、AlteryxDesignerをこれから利用していくお客様を対象に、初心者向けのトレーニングをご用意しております。

ハンズオン形式で実施致しており、使用し始めた方の上達をサポート致します。

トレーニング以外にもAlteryxを用いた環境構築、開発、ワークフロー作成を承りますので、お気軽にご相談ください。

おすすめの記事