[[20090721130512]] 『数値を○年○月○日に置き換えるには?』(うんちぇ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『数値を○年○月○日に置き換えるには?』(うんちぇ)

例えば 「4210721」を平成21年7月21日に 「3610721」を昭和61年7月21日に置き換えるにはどのような計算式を入力すればよいでしょうか?


 法則はありますか?

 例えば頭の数値について
 「4」→平成?
 「3」→昭和?
 (とおりすがり子)

 =VLOOKUP(value(LEFT(A1,1)),和暦表,2,0)&VALUE(MID(A1,2,2))&"年"&VALUE(MID(A1,4,2))&"月"&VALUE(MID(A1,6,2))&"日"

 和暦表は
    A   B
 1  1  明治
 2  2  大正
 3  3  昭和
 4  4  平成

 これでできますが、見た目はそうなりますが日付として計算させることは不可能です。
 いちいちValueでくくっているのは、07を文字列として扱うと07と表示されてしまうため、頭の0を無視するように設定されている数値として扱うためくくっています。
 和暦表の1 2 3 4を文字列として入力する場合、vlookupの中のvalueを外してください。
 (とおりすがっ太)

 =IF(A1="","",(MID("mtsh",LEFT(A1),1)&TEXT(MOD(A1,1000000),"0!/00!/00"))*1)

 上記の数式でシリアル値に変換できます。

 (えくせる青年)2009/7/21 13:48

	A	B
1	4210721	平成21年7月21日
2	3610721	昭和61年7月21日

 B1=(MID("MTSH",LEFT(A1),1)&TEXT(RIGHT(A1,6),"00-00-00"))*1
 ★表示形式をユーザー定義で、ggge"年"m"月"d"日"
 (Maron)

 スレ主じゃないのですが。。。

 お二方の試してみたのですが、平成60年4月1日になってしまいました。
 後学のために何をしているのか教えていただけますか?
 (とおりすがっ太)

 421071を頭の「4」と「210721」に分けて頭の一文字から「M」「T」「S」「H」を求め、「210721」から
 「21-07-21」または「21/07/21」をつくり、それを合わせて「H21-07-21」または「H21/07/21」と言う日付を
 表す文字列を作成してそれに1をかける事でシリアル値に変換しています。
 (独覚)

 なるほど!
 MTSHなる表示形式があることを知りませんでしたorz

 それで、なんで平成60年になってしまうのでしょう・・・

 うーーーん

 (とおりすがっ太)

 平成60年にできない・・・
 (dack)(EXCEL2003使用中)

 EXCEL2002でも、期待値になりましたよ〜(報告@とおりすがり)

 数式に関しては
 独覚さんのご説明の通りですが

 4600401 と入力していると
 平成60年4月1日 
 西暦ですと2048年4月1日のシリアル値が返ります。

 実際にはどんな数字を入力しましたか?

 (えくせる青年)2009/7/21 15:21

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.