Excel で 1/1/1900 より前の年齢を計算する方法は?
Excel では、1900 年 1 月 1 日より前の日付を正しく入力・計算することができません。そのため、1900 年 1 月 1 日より前に生まれて亡くなった方の年齢を計算しようとしても、通常の方法では正しい結果が得られません。しかし、この記事では、Excel で 1900 年 1 月 1 日より前の年齢を正確に計算できるテクニックをご紹介します。
Kutools for Excel で誕生日から年齢を計算する![]()
VBA を使って 1/1/1900 より前の年齢を計算する
次の VBA コードを使えば、1900 年1 月1 日より前の生年月日から年齢を素早く計算できます。
1。空白セルを選択し、対象人物の誕生日を入力してください。その後、別のセルを選択して、本日の日付、または必要に応じてその人物の死亡日を入力します。スクリーンショットをご参照ください。
2。次に、Alt + F11キーを押して、Microsoft Visual Basic for Applicationsウィンドウを開きます。
3。「挿入」>「モジュール」をクリックし、下記の VBA コードを新しいモジュールウィンドウに貼り付けます。
VBA:1/1/1900 より前の年齢を計算する
Public Function AgeFunc(SDate As Variant, EDate As Variant) As Long
'UpdatebyExtendOffice20160429
Dim xSMonth As Integer
Dim xSDay As Integer
Dim xSYear As Integer
Dim xEMonth As Integer
Dim xEDay As Integer
Dim xEYear As Integer
Dim xAge As Integer
If Not GetDate(SDate, xSYear, xSMonth, xSDay) Then
AgeFunc = "Invalid Date"
Exit Function
End If
If Not GetDate(EDate, xEYear, xEMonth, xEDay) Then
AgeFunc = "Invalid Date"
Exit Function
End If
xAge = xEYear - xSYear
If xSMonth > xEMonth Then
xAge = xAge - 1
ElseIf xSMonth = xEMonth Then
If xSDay > xEDay Then xAge = xAge - 1
End If
If xAge < 0 Then
AgeFunc = "Invalid Date"
Else
AgeFunc = xAge
End If
End Function
Private Function GetDate(ByVal DateStr As String, Y As Integer, M As Integer, D As Integer) As Boolean
Dim I As Long
Dim K As Long
Y = 0
M = 0
D = 0
GetDate = True
On Error Resume Next
I = InStr(1, DateStr, "/")
M = CLng(Left(DateStr, I - 1))
D = CLng(Mid(DateStr, I + 1, InStr(I + 1, DateStr, "/") - I - 1))
Y = CLng(Right(DateStr, Len(DateStr) - InStrRev(DateStr, "/")))
If M < 1 Or M > 12 Or D < 1 Or D > 31 Or Y < 1 Then
GetDate = False
End If
End Function 4。空白セル(ここでは C2)を選択し、次の数式を入力します。=AgeFunc(A2,B2)(A2 は誕生日、B2 は終了日)。その後、Enterキーを押して年齢を取得し、必要に応じてオートフィルハンドルをドラッグしてください。スクリーンショットを参照してください:
注:この VBA は、mm/dd/yyyy 形式(例:6/23/1845)の日付でのみ年齢を計算できます。
Kutools for Excel で誕生日から年齢を計算する
誕生日が通常1900 年1 月1 日以降であれば、Kutools for Excelの日付と時刻のヘルパー機能を使えば、指定された誕生日から瞬時に年齢を計算できます。
Kutools for Excel を無料でインストールした後、以下の手順に従ってください:
1。年齢を表示したい空白セルを選択し、「Kutools>関数ヘルパー>日付と時刻のヘルパー」をクリックします。スクリーンショットをご参照ください:
2。「日付と時刻のヘルパー」ダイアログで、「年齢」オプションをチェックし、年齢を計算したい誕生日を「Date of Birth」テキストボックスに入力または選択します。デフォルトではセルが絶対参照で選択されますが、必要に応じて相対参照に変更することも可能です。次に、「Today」オプションをチェックし、ドロップダウンリストから表示したい結果のタイプを「出力結果のタイプを入力してください」より選択します。スクリーンショットを参照してください:
3。「OK」をクリックしてこの数式を適用すると、年齢が表示されます。必要に応じて、オートフィルハンドルをドラッグして他のセルにも簡単に適用できます。スクリーンショットをご参照ください:
最高の Office 業務効率化ツール
| 🤖 | KUTOOLS AI アシスタント:次に基づいてデータ分析を革新します:インテリジェント実行 | コード生成| カスタム数式作成 | データ分析とチャート生成| 拡張機能呼び出し… |
| 人気の機能:検索・ハイライト、または重複をマーキング | 空白行を削除する | データを失うことなく列の結合またはセルを | 数式を使用しない四捨五入... | |
| スーパー LOOKUP:複数条件 VLookup | 複数値 VLookup | 複数シート間 VLookup | ファジーマッチ.... | |
| 高度なドロップダウンリスト:ドロップダウンリストをすばやく作成 | 連動型ドロップダウンリスト | 複数選択可能なドロップダウンリスト.... | |
| 列マネージャー:指定した数の列を追加|列の移動|非表示列の表示状態を切り替え|範囲および列の比較... | |
| 注目の機能:グリッドフォーカス | デザインビュー |強化された数式バー | ワークブックとシートマネージャー | リソースライブラリ(オートテキスト)| 日付ピッカー | ワークシートの統合 | 暗号化/セルの復号化 | リストからメール送信 | スーパーフィルター | 特殊フィルタ(太字のフォントを持つセルをフィルタリング/斜体/取り消し線。。。) 。。。 | |
| トップ15 ツールセット:12 テキストツール(テキストの追加、特定の文字を削除、...)| 50+チャートタイプ(ガントチャート、...)| 40+実用的関数(誕生日に基づいて年齢を計算します、...)| 19 挿入ツール(QR コードを挿入、パスから画像を挿入、...)| 12 変換ツール(単語に変換する、為替レートの変換、...)| 7 結合と分割ツール(高度な行のマージ、セルの分割、...)|さらに多数 |
Kutools for Excel でExcel スキルを強化し、これまでにない効率を体験しましょう。Kutools for Excel は、生産性を高め、時間を大幅に節約できる高度な機能を300 以上提供します。最も必要な機能を今すぐ入手するにはこちらをクリック。。。
Office Tab は Office にタブインターフェースをもたらし、作業を大幅に簡単にします
- Word、Excel、PowerPoint でタブを使った編集と閲覧を有効にします。Publisher、Access、Visio、Project でもご利用いただけます。
- 複数のドキュメントを、新しいウィンドウではなく、同じウィンドウ内の新しいタブで開いたり作成したりできます。
- 日々の生産性を50%も向上させ、毎日数百回ものマウスクリックを削減します!
すべてのKutools アドインが、たった1 つのインストーラーで完結。
Kutools for Officeスイートには、Excel ・Word ・Outlook ・PowerPoint 用のアドインと Office Tab Pro が含まれており、複数の Office アプリを横断して作業するチームに最適です。
- オールインワンスイート— Excel、Word、Outlook、PowerPoint 用アドイン+Office Tab Pro
- インストーラー1 つ、ライセンス1 つ— 数分でセットアップ可能(MSI 対応)
- 連携してさらにパワーアップ— Office アプリ全体で生産性が向上
- 30 日間のフル機能トライアル— 登録不要、クレジットカード不要
- 最高のお得感— 個別アドイン購入よりお得