日本語入力で 5/16 等の日付を入力した際に自動的に 平成23年5月16日 若しくは 2011年5月16日 に変換するようにしたいのですが、どのようにすればよいのでしょうか。
半角英数で入力の場合は、セルの書式を GGGE年M月D日 若しくは YYYY年M月D日 にすれば可能なのですが・・・。
よろしくお願いします。
日付の変換について
-
- 記事: 337
- 登録日時: 6月 21, 2010, 6:52 am
Re: 日付の変換について
tako1611 さん こんにちは
・全角(日本語)で入力された値は[文字列]として扱われますので、日付への自動変換は行われません。
・回避策は、(とりあえず、3種類考えてみました)
1)入力時に[F8]キーを押して半角にする方法。
2)他のセルで表示を行う方法。
(例えば[A1]セルに「5/16」と入力されている時に[B1]セルに「=DATEVALUE(ASC(A1))」と入力し書式を「GGGE年M月D日」にする)
3)マクロでリスナーを作成して変換させる方法
(常にマクロが動作するので重くなります)
・全角(日本語)で入力された値は[文字列]として扱われますので、日付への自動変換は行われません。
・回避策は、(とりあえず、3種類考えてみました)
1)入力時に[F8]キーを押して半角にする方法。
2)他のセルで表示を行う方法。
(例えば[A1]セルに「5/16」と入力されている時に[B1]セルに「=DATEVALUE(ASC(A1))」と入力し書式を「GGGE年M月D日」にする)
3)マクロでリスナーを作成して変換させる方法
(常にマクロが動作するので重くなります)
-
- 記事: 337
- 登録日時: 6月 21, 2010, 6:52 am
Re: 日付の変換について
tako1611 さん こんにちは
・[A2]セルで下記関数を試してみて下さい。
=IF(ISNUMBER(A1);EDATE(A1;6);IF(ISTEXT(A1);EDATE(DATEVALUE(ASC(A1));6);""))
・前回も書きましたが「6/12」と入力すると[文字列]として扱われます、つまり年の値を保持していませんので、来年になると表示される年が変わりますので注意して下さい。
・[A2]セルで下記関数を試してみて下さい。
=IF(ISNUMBER(A1);EDATE(A1;6);IF(ISTEXT(A1);EDATE(DATEVALUE(ASC(A1));6);""))
・前回も書きましたが「6/12」と入力すると[文字列]として扱われます、つまり年の値を保持していませんので、来年になると表示される年が変わりますので注意して下さい。