[[20041022114025]] 『和暦文字列をシリアル値に』(しぇい) ページの最後に飛ぶ

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

 

『和暦文字列をシリアル値に』(しぇい)
 現在、和暦の文字列をシリアル値にする研究(?)をしています(何かと出てくる
 ことがあり…)。
 文字列は「平12/3/10」の表記です。
 「平」を「平成」と置換操作してデータ区切り位置で日付…という手もありますが、
 できればスマートに関数でやりたいと思っています。
 現在は「=--SUBSTITUTE(A1,"平","H")」で対応しています。
 昭和は"昭"と"S"に替えて同じ式を使っています。
 そして、これら2つを合わせれば望みどおりなのですが(明治・大正はないので)、
 合体するとどうもうまくいきません。考えた式は、
   =IF(FIND("平",A6)=1,--SUBSTITUTE(A6,"平","H"),--SUBSTITUTE(A6,"昭","S"))
 なのですが、第一条件しか正しく返りません(この場合は平成はうまくいく)。
 是非みなさまのアドバイスをいただきたく思います。

 また、もしも「平」や「昭」の部分を置換するなりして年号(ge)と読んでくれる
 方法があれば、そちらも知りたいです(こちらはもしもというレベルです)。
 ただ、できればいいということではなく理解したいので、ものすご〜く長い式は
 遠慮いたします…。

 =--SUBSTITUTE(SUBSTITUTE(A6,"平","H"),"昭","S")でどうでしょうか?
(ケン)

 先越されて悔しいので、別解。
元の式を手直しするなら、
=--IF(ISERROR(FIND("平",A6)),SUBSTITUTE(A6,"昭","S"),SUBSTITUTE(A6,"平","H"))
IF関数の部分でTRUE、FALSEになるようにします。
(みやほりん)

 ケンさん、ありがとうございます!
 ボロボロボロ…(目からうろこが落ちる音)。
 そうですよね〜。なるほどです。はぁ〜。ただただ感嘆…。
 みやほりんさんもありがとうございます!
 おかげさまで自分の間違いに気がつきました。
 そうですね。私の式では真偽になりませんね。
 ご指摘ありがとうございます。
 お2人ともありがとうございました。
 (しぇい)

コメント返信:

[ 一覧(最新更新順) ]


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