日付の書式設定

Excelでは正規日付書式は認識されません。XMLデータの日付書式が正規書式である場合(つまりYYYY-MM-DDThh:mm:ss+HH:MM)、正しく表示するには関数を適用する必要があります。

日付を表示するオプションの1つは、ExcelのREPLACEとSUBSTITUTE関数を使用する方法です。このオプションでは、完全な日付とタイムスタンプが維持されます。データ内の日付部分(YYY-MM-DD)のみが必要な場合は、DATEVALUE関数を使用する方法があります。次の例では、両方のオプションの使用方法を示します。

例: Excelでの正規日付の書式設定

この手順では、部門別従業員テンプレートと最初の例のデータを使用して、HIRE_DATE要素をレイアウトに追加し、次の図の列Eに示すように日付を表示します。

日付を書式設定するには:
  1. レイアウト内の表にHIRE_DATEの列を追加します。
  2. データを表示する表の行に、Template Builderを使用してHIRE_DATEフィールドを挿入します。

    Template Builderを使用していない場合は、XMLデータのHIRE_DATEのサンプル値をHIRE_DATEフィールドを表示するセルにコピー・アンド・ペーストします。例: 1996-02-03T00:00:00.000-07:00をコピーしてセルE8に貼り付けます。セルに定義名XDO_?HIRE_DATE?を割り当てて、データ内のHIRE_DATE要素にマップします。次の図に挿入されたフィールドを示します。

    これ以外の操作を行わなければ、HIRE_DATE値は図に示したように表示されます。日付を3-Feb-96と書式設定するには、そのフィールドに関数を適用し、結果を別のフィールドに表示する必要があります。

  3. 新しいHire Date列を挿入します。次の図に示すように、これが列Fになります。
  4. 新しいHire Dateセル(F8)に、次のいずれかのExcel関数を入力します。
    • 完全な日付とタイムスタンプを維持するには、次のように入力します。

      =--REPLACE(SUBSTITUTE(E8,"T"," "),LEN(E8)-6,6,"")
      
    • 日付部分(YYY-MM-DD)のみを維持するには、次のように入力します。

      =DATEVALUE(LEFT(E8,10))
      

    どちらの機能も、E8は、変換する値を含むセルを参照していることに注意してください。

    関数を入力すると、次の図に示すように、F8セルが移入されます。

  5. セルに書式設定を適用します。

    F8セルを右クリックします。メニューから「セルの書式設定」を選択します。次の図に示すように、「セルの書式設定」ダイアログで、「日付」と適切な書式を選択します。

    F8セルのサンプル・データは、「3-Feb-96」と表示されるようになります。

  6. 列Eを非表示にして、レポート利用者に対して変換元の正規日付が表示されないようにします。

    次の図は、非表示の列Eを含むテンプレートを示しています。