
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")
この式の処理内容は以下の通りです:
-
DateTimeAdd("指定日", 4, "month")
で4か月後の日付を取得 -
Left(..., 7) + "-01"
でその月の1日を作成 -
その1日から1日引いて
DateTimeAdd(..., -1, "day")
で3か月後の月末日を取得
NETWORKDAYS 関数
Excelの場合
「=NETWORKDAYS(開始日, 終了日, [祝日])」を使うと、指定した期間の中で土日と祝日を除いた稼働日数を算出できます。
祝日を指定しない場合は、土日のみが除外されます。
Alteryxの場合
DateTimeWorkDays(開始日, 終了日)関数を使用することで、土日を除いた稼働日を計算できます。
※2025.
DATEDIF 関数
Excelの場合
「=DATEDIF(開始日, 終了日, 単位)」は、2つの日付の差を単位に応じて返す関数です。
-
"Y"
:年数の差 -
"M"
:月数の差 -
"D"
:日数の差
Alteryxの場合
DateTimeDiff(終了日, 開始日, 単位)関数を使用して、2つの日付の差を単位別で計算できます。
-
"year"
:年 -
"month"
:月 -
"day"
:日