負の数値を1900年より前の日付型文字列に変換するユーザー定義関数

負の数値を1900年より前の日付型文字列に変換する方法

Excelでは、1900年1月1日以前の日付を標準的な日付形式で扱うことができません。しかし、VBAを使って独自の関数を作成することで、負の数値を1900年より前の日付型文字列に変換し、独自の日付計算が可能になります。今回は、そのようなVBA関数を作成する方法とその効果について解説します。

関数の導入方法

以下のVBAコードを使って、「DateFromDaysBefore1900」という関数を作成します。

Function DateFromDaysBefore1900(days As Long) As String
Dim baseDate As Date
baseDate = DateValue("1899/12/31")
DateFromDaysBefore1900 = Format(DateAdd("d", days, baseDate), "yyyy/mm/dd")
End Function

この関数を使えば、負の数値を1900年1月1日より前の日付型文字列に変換できます。

関数の効果

「DateFromDaysBefore1900」関数は、引数として与えられた負の数値を、1900年1月1日を基準とした日付型文字列に変換します。この関数を使用すると、以下のような計算が可能になります。

  • =DateFromDaysBefore1900(1) → “1900/01/01”
  • =DateFromDaysBefore1900(0) → “1899/12/31”
  • =DateFromDaysBefore1900(-1) → “1899/12/30”
  • =DateFromDaysBefore1900(-40,628) → “1788/10/05”

これにより、負の数値をもとに、1900年1月1日以前の日付に対する日付計算が可能になります。

まとめ

Excelの標準機能では、1900年1月1日より前の日付を扱うことが難しいですが、VBAを利用して独自の関数を作成することで、負の数値を1900年以前の日付型文字列に変換し、日付計算を行うことができます。「DateFromDaysBefore1900」関数は、そのような目的で作成された関数で、負の数値を1900年1月1日を基準とした日付型文字列に変換します。

参考:1900年より前の日付型文字列を負の数値に変換するユーザー定義関数

1900年より前の日付型文字列を負の数値に変換するユーザー定義関数
1900年より前の日付型文字列を負の数値に変換する方法 Excelでは、1900年1月1日以前の日付を標準的な日付形式で扱うことができません。しかし、VBAを使って独自の関数を作成することで、1900年より前の日付型文字列を負の数値に変換し...

コメント

PAGE TOP
タイトルとURLをコピーしました