Main Content

x2mdate

(非推奨、datetime を使用すること) Excel のシリアル日付値を MATLAB のシリアル日付値または datetime 値に

x2mdate は推奨されません。代わりに、入力引数 "excel" を指定して関数 datetime を使用してください。datetime 値が返されるからです。コードの更新の詳細については、バージョン履歴またはシリアル日付値と日付文字列の推奨されないインスタンスの置き換えを参照してください。

説明

MATLABDate = x2mdate(ExcelDateNumber,Convention) は、Excel® のシリアル日付値の配列を MATLAB® のシリアル日付値の配列に変換します。Convention の指定に従って、1900 年の日付システムまたは 1904 年の日付システムのいずれかを使用して日付値が変換されます。

MATLAB の日付値は、1 = 西暦 0000 年 1 月 1 日から始まるため、1900 年の日付システムとは 693960、1904 年の日付システムとは 695422 の差があります。この関数は Spreadsheet Link™ ソフトウェアを使用する場合に便利です。

MATLABDate = x2mdate(___,outputType) は、オプションの outputType の入力引数を使用して、Excel のシリアル日付値を MATLAB のシリアル日付値の配列または datetime 配列に変換します。

出力の型は、オプションの入力 outputType によって決定されます。outputType"datenum" の場合、MATLABDate はシリアル日付値の配列になります。outputType"datetime" の場合、MATLABDatedatetime 配列になります。既定では outputType"datenum" です。

すべて折りたたむ

Excel® の 1904 年のシステムの日付値について、それらを MATLAB® のシリアル日付値に変換してから、日付として書式設定された文字ベクトルに変換します。

ExDates = [35423  35788  36153];
MATLABDate = x2mdate(ExDates, 1)
MATLABDate = 1×3

      730845      731210      731575

datestr(MATLABDate)
ans = 3x11 char array
    '25-Dec-2000'
    '25-Dec-2001'
    '25-Dec-2002'

あるいは、オプションの入力 outputType を使用して "datetime" を指定し、datetime 配列を返します。

ExDates = [35423  35788  36153];
MATLABDate = x2mdate(ExDates, 1,"datetime")
MATLABDate = 1x3 datetime
   25-Dec-2000   25-Dec-2001   25-Dec-2002

入力引数

すべて折りたたむ

Excel のシリアル日付値。Excel のシリアル日付値のスカラーまたはベクトルとして指定します。

データ型: double

Excel の日付システムのフラグ。値 0 または 1 をもつ数値のスカラーまたはベクトルとして指定します。Convention はスカラーであるか、ExcelDateNumber と同じサイズでなければなりません。

Convention = 0 (既定) の場合、Excel の 1900 年の日付システムが有効になります。Convention = 1 の場合、Excel の 1904 年の日付システムが使用されます。

Excel の 1900 年の日付システムでは、Excel のシリアル日付値 1 が西暦 1900 年の 1 月 1 日に対応します。Excel の 1904 年の日付システムでは、日付値 0 が西暦 1904 年の 1 月 1 日になります。

Excel ソフトウェアでは、ソフトウェアの制限により、1900 年がうるう年と見なされます。そのため、Excel ソフトウェアから報告される 1900 年 1 月 1 日から 1900 年 2 月 28 日までの DATEVALUE は、いずれも報告される値と 1 ずつ異なります。以下に例を示します。

  • Excel ソフトウェアでは、1900 年 1 月 1 日 = 1

  • MATLAB では、1900 年 1 月 1 日 – 693960 (1900 年の日付システムの場合) = 2

    datenum("Jan 1, 1900") - 693960
    ans =
    
         2

データ型: logical

出力の日付形式。"datenum" または "datetime" として指定します。出力 MATLABDate は、"datenum" を指定した場合はシリアル番号日付、"datetime" を指定した場合は datetime 形式になります。既定では、出力はシリアル番号日付です。

データ型: char | string

出力引数

すべて折りたたむ

MATLAB の日付。シリアル日付値または datetime 配列として返されます。

出力の型は、オプションの入力引数 outputType によって決定されます。outputType"datenum" の場合、MATLABDate はシリアル日付値になります。outputType"datetime" の場合、MATLABDatedatetime 配列になります。既定では outputType"datenum" です。

バージョン履歴

R2006a より前に導入

すべて展開する

R2022a: 非推奨

x2mdate を削除する予定はありません。ただし、代わりに関数 datetime の使用が推奨されます。datetime 値が返されるからです。datetime データ型を使用すると、柔軟な日付と時刻の形式、ナノ秒単位の精度のストレージ、タイム ゾーンと夏時間を考慮するためのプロパティを使用できます。

Excel のシリアル日付値を datetime 値に変換するには、入力引数 "excel" を指定して関数 datetime を呼び出します。

excelNum = 44481
dt = datetime(excelNum,"ConvertFrom","excel")