エクセルの関数で、出生年月日と死亡年月日(健在者は、契約年月日)は入力済みです。
別の列に死亡(契約)年月日から出生年月日をひいて、契約(もしくは現時点)時の年齢や死亡時の年齢を表示させる関数を教えてください。
また、明治38年以降が、自動的に計算されて西暦になおせますが、それ以前(文化や弘化など)も西暦になおせる関数があればおしえてください。
セルC4に死亡年月日(健在者は、契約年月日かまだ未契約の方はTODAY)
セルC3に出生年月日(死亡・健在問わず)
印刷範囲外で、セルJ4に死亡年月日の西暦表示
同様にセルJ3に出生年月日の西暦表示
セルK3とK4をあらかじめ結合させておいて、そのセルに年齢を表示させたいと思います。
アドバイスをお願いします。
No.4ベストアンサー
- 回答日時:
こんばんは。
ユーザー定義関数を作ってみました。
以下で分かるように、慶長からです。
A1:
天明2年
=HenkanYear(A1) →1782年
となります。
A1 : 慶応
=HenkanYear(A1,0)
1866 という数字になります。
また、
1993/3/2 とシリアル値か文字列を入れれば、
→平成5年3月2日
どちらでも変換が可能です。
M2年 →1869年
A2 : M2年
=HenkanYear(A2,0)
とすれば、1869 という数字になります。
(ただし、シリアル値-数字の場合は、すべて元号付きに変わりますから、表示形式には関係がありません。)
なお、私製 DATEDIF関数も作れますが、この関数は、もともと、ナンセンスな部分があるので、できれば、一般関数で行えばよいと思います。
また、年号の変換を関数で、MS-DOS時代に作りました。そのときは、大化からですが、南北朝時代がうまくいきません。
標準モジュールでお試しください。
'-----------------------------------------------
Private Const NENGO As String = "慶長,元和,寛永,正保,慶安,承応,明暦,万治,寛文,延宝,天和,貞享,元禄,宝永,正徳,享保,元文,寛保,延享,寛延,宝暦,明和,安永,天明,寛政,享和,文化,文政,天保,弘化,嘉永,安政,万延,文久,元治,慶応,明治,大正,昭和,平成"
Private Const HAJIME As String = "1596,1615,1624,1644,1648,1652,1655,1658,1661,1673,1681,1684,1688,1704,1711,1716,1736,1741,1744,1748,1751,1764,1772,1781,1789,1801,1804,1818,1830,1844,1848,1854,1860,1861,1864,1865,1868,1912,1926,1989"
Private Const OWARI As String = "1615,1624,1644,1648,1652,1655,1658,1661,1673,1681,1684,1688,1704,1711,1716,1736,1741,1744,1748,1751,1764,1772,1781,1789,1801,1804,1818,1830,1844,1848,1854,1860,1861,1864,1865,1868,1912,1926,1989"
Public Function HenkanYear(arg As Variant, Optional flgNen As Boolean = True)
'年号変換関数, flgNen オプションは、年を数値にする
v.2662865.01
Dim arNengo As Variant
Dim arHajime As Variant
Dim arOwari As Variant
Dim yFing As Integer
Dim i As Integer
Dim mYear As Integer
Dim gYear As String
Dim yFig As Integer
Dim buf As String
arNengo = Split(NENGO, ","): arHajime = Split(HAJIME, ","): arOwari = _
Split(OWARI, ",")
If IsDate(arg) And Not (arg Like "[一-龝][一-龝]*") Then arg = CDate(arg)
Select Case VarType(arg)
Case vbString
If InStr(arg, "日") > 0 Then
arg = Replace(arg, "日", ""): arg = Replace(arg, "年", "/"): arg = Replace(arg, "月", "/")
End If
If InStr(1, arg, "m", 1) = 1 Or InStr(1, arg, "t", 1) = 1 Or InStr(1, arg, "s", 1) = 1 Or InStr(1, arg, "h", 1) = 1 Then
arg = Replace(arg, "m", "明治", , , 1): arg = Replace(arg, "t", "/", , , 1): _
arg = Replace(arg, "s", "昭和", , , 1): arg = Replace(arg, "h", "平成", , , 1)
End If
ReDim Preserve arOwari(UBound(arOwari) + 1)
arOwari(UBound(arOwari)) = Year(Date)
If Left(arg, 4) Like "[一-龝][一-龝]#*" Then
For i = LBound(arNengo) To UBound(arNengo)
If StrComp(arNengo(i), Left(arg, 2)) = 0 Then
yFig = i
Exit For
End If
Next i
mYear = CInt(arHajime(yFig)) + CInt(Val(Mid(arg, 3, 2))) - 1
If InStr(arg, "/") > 0 Then
buf = Mid$(arg, InStr(arg, "/"))
Else
buf = "年" & Mid$(arg, 5)
End If
End If
If flgNen = False Then
HenkanYear = mYear
Else
HenkanYear = mYear & buf
End If
Case vbDate
mYear = Year(arg)
For i = UBound(arHajime) To LBound(arHajime) Step -1
If mYear >= arHajime(i) Then
gYear = arNengo(i)
If mYear = arHajime(i) Then
gYear = gYear & "元年"
Else
gYear = gYear & CStr(mYear - arHajime(i) + 1)
End If
HenkanYear = gYear & "年" & Format(arg, "m月d日")
Exit For
End If
Next i
End Select
End Function
とっても詳しく説明していただいてありがとうございます。
少しづつ理解していこうと思いますが・・・
またゆっくり確認して仕上げていきますね。
ありがとうございました。
No.3
- 回答日時:
>それ以前(文化や弘化など)も西暦になおせる関数があれば
【和暦を西暦に変換 関数】は、組み込まれていないので・・・
http://www.fct.co.jp/benri/nenrei/sei-gen.all.html
を参考にしてみては?
(データ取り込み後、配列変換出来る関数式を組めるのであれば、ゼロから入力するよりも楽ですが・・・)
この回答への補足
http://park2.wakwak.com/~fivesprings/books/age.h …
上記のサイトで、簡単に(平成18年までですが・・・)年齢計算はできました。
BUT 職場のPCは、ネットはできないので、(専用のサイトしかいけない)使用できそうにもないです・・・
No.2
- 回答日時:
>文化や弘化など)も西暦になおせる関数があればおしえてください
今ではあまりそんな必要は、特殊な世界・業界以外は必要ないでしょう。
http://www.netz.co.jp/kenbun/kurasi/dentaku/koyo …
のようなサイトが見つかりました。
年号と西暦年の対照表を作り、関数ならVLOOKUP関数でできそう。
No.1
- 回答日時:
=DATEDIF(C3,C4,"Y")
で、年齢が出ます。
この関数は、サポートされなくなる可能性がある関数です。
でも、まだ使えます。office2007では、どうなるか判りませんが…。
また、明治38年以前の年号には対応している関数はありません。
表示させるには、自分で年号と年を定義して表を作るしかありません。
この回答への補足
=DATEDIF(C3,C4"y")
で、確かに簡単に年齢はでるんですが、
問題は、M38以前なんですよね。
古い戸籍の人はたいていが、明治初期か、弘化とか慶応とかでして、西暦だけで、単に満年齢で表示させるしかないですかね・・・
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルの数式で教えてください。 2 2023/01/10 09:15
- Excel(エクセル) Excelで、昭和の西暦換算 6 2023/03/23 11:29
- Excel(エクセル) Excel2019、2021の日付、曜日の表示について 2 2022/11/29 15:01
- Excel(エクセル) 現時点の年齢を算出して、その年齢と一致したセルを色付けしたい。 4 2022/06/23 17:49
- Excel(エクセル) Excelの関数 5 2023/07/07 05:26
- Excel(エクセル) Excel2019、2021の売り上げなどの集計表について 4 2022/11/29 14:03
- Excel(エクセル) エクセルでセルの日付を和暦表示設定にしたらおかしなことに? 3 2022/05/25 11:47
- 政治 自民党政権の日本が人権問題で世界に恥を晒しているのは何故ですか? 8 2022/11/04 16:57
- Excel(エクセル) 関数の質問です 3 2022/03/24 12:41
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/04/21 08:59
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~12/2】 国民的アニメ『サザエさん』が打ち切りになった理由を教えてください
- ・ちょっと先の未来クイズ第5問
- ・【お題】ヒーローの謝罪会見
- ・これが怖いの自分だけ?というものありますか?
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
含まない言い方ってどうしたら...
-
日付の表し方について
-
イスラエルの神宝であるマナの...
-
昭和とか平成初期って、楽しか...
-
藤井将雄のことを知りました。...
-
年号表示’05なの05’なの?その...
-
日付から元号だけを取り出した...
-
Netflix喫煙シーン(喫煙者です)
-
「19歳・大学生」がバーやクラ...
-
アパートの駐車場での喫煙について
-
昭和22年~23年の貨幣価値
-
昭和23年の男性平均身長ですが...
-
リコリスリコイルの時代設定っ...
-
石油ストーブで壁が黄ばむ?
-
昔のもの古いものが怖い
-
昭和と平成と令和と、どの時代...
-
昭和の終わり・平成元年は西暦...
-
表示形式 「年号」のgggeはど...
-
僕は1997ですが、同じ90年代生...
-
漢字、完くの読み方
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
含まない言い方ってどうしたら...
-
日付の表し方について
-
日付から元号だけを取り出した...
-
年号表示’05なの05’なの?その...
-
イスラエルの神宝であるマナの...
-
差込後 該当する文字を 丸で...
-
日本で日曜日っていつから休み...
-
石油ストーブで壁が黄ばむ?
-
アパートの駐車場での喫煙について
-
昭和22年~23年の貨幣価値
-
和暦(邦暦)と元号(年号)の...
-
母親が喫煙所のようにお風呂で...
-
「今年から来年にかけて」とは、 ...
-
昭和とか平成初期って、楽しか...
-
平成36年は、令和何年ですか?
-
表示形式 「年号」のgggeはど...
-
煙草の吸い方 金魚との違いにつ...
-
創業30年と創業昭和30年どちら...
-
西暦の対義語は?
-
漢字、完くの読み方
おすすめ情報