日付への序数表記の追加(Microsoft Excel)
ワークブックを作成するときは、「3月9日」のように、日付の最後に「st、nd、rd、th」などの接尾辞を付ける必要がある場合があります。
残念ながら、個々のセルに適用できる組み込みの日付形式を使用してこれを行う方法はありません。必要に応じて、4つのサフィックスタイプごとにカスタムフォーマットを作成できますが、セル自体の内容に基づいて個別に適用する必要があります。
他の唯一のオプションは、ある種の変換式を使用することです。これらは簡単に組み合わせることができますが、結果のセルには実際のExcelの日付ではなく、テキストが含まれます。これにより、セルの内容が他の日付関連の機能で使用できなくなります。以下は、使用できる変換式のタイプの例です。
=DAY(A1)&IF(OR(DAY(A1)={1,2,3,21,22,23,31}), CHOOSE(1*RIGHT(DAY(A1),1),"st","nd ","rd "),"th") &TEXT(A1,"mmmm, yyyy")
他にもありますが、基本的に同じことを行います。日付のさまざまな部分を引き離し、適切な接尾辞を付けて元に戻します。
必要に応じて、序数の接尾辞を付けて、適切にフォーマットされた日付を返すマクロ関数を作成することもできます。以下はそのようなマクロの1つです:
Function OrdinalDate(myDate As Date) Dim dDate As Integer Dim dText As String Dim mDate As Integer Dim mmmText As String dDate = Day(myDate) mDate = Month(myDate) Select Case dDate Case 1: dText = "st" Case 2: dText = "nd" Case 3: dText = "rd" Case 21: dText = "st" Case 22: dText = "nd" Case 23: dText = "rd" Case 31: dText = "st" Case Else: dText = "th" End Select Select Case mDate Case 1: mmmText = " January" Case 2: mmmText = " February" Case 3: mmmText = " March" Case 4: mmmText = " April" Case 5: mmmText = " May" Case 6: mmmText = " June" Case 7: mmmText = " July" Case 8: mmmText = " August" Case 9: mmmText = " September" Case 10: mmmText = " October" Case 11: mmmText = " November" Case 12: mmmText = " December" End Select OrdinalDate = dDate & dText & mmmText End Function
マクロは、セルの数式内で呼び出すだけで使用できます。たとえば、セルB7に日付が格納されている場合、他のセルでは次を使用できます。
=OrdinalDate(B7)
注:
このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。
_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。
このヒント(2510)は、Microsoft Excel 97、2000、2002、および2003に適用されます。Excel(Excel 2007以降)のリボンインターフェイス用のこのヒントのバージョンは、次の場所にあります。
link日付への序数表記の追加。