日付の変換について

スプレッドシート (Calc) について
返信する
tako1611
記事: 2
登録日時: 10月 19, 2011, 10:41 am

日付の変換について

投稿記事 by tako1611 »

日本語入力で 5/16 等の日付を入力した際に自動的に 平成23年5月16日 若しくは 2011年5月16日 に変換するようにしたいのですが、どのようにすればよいのでしょうか。
半角英数で入力の場合は、セルの書式を GGGE年M月D日 若しくは YYYY年M月D日 にすれば可能なのですが・・・。
よろしくお願いします。
OpenOffice 3.3 on Windows 7
MoIshihara
記事: 337
登録日時: 6月 21, 2010, 6:52 am

Re: 日付の変換について

投稿記事 by MoIshihara »

tako1611 さん こんにちは

・全角(日本語)で入力された値は[文字列]として扱われますので、日付への自動変換は行われません。
・回避策は、(とりあえず、3種類考えてみました)
 1)入力時に[F8]キーを押して半角にする方法。
 2)他のセルで表示を行う方法。
 (例えば[A1]セルに「5/16」と入力されている時に[B1]セルに「=DATEVALUE(ASC(A1))」と入力し書式を「GGGE年M月D日」にする)
 3)マクロでリスナーを作成して変換させる方法
 (常にマクロが動作するので重くなります)
tako1611
記事: 2
登録日時: 10月 19, 2011, 10:41 am

有り難うございます

投稿記事 by tako1611 »

MoIshihara 様

アドバイス有り難うございます。

少し私の説明不足でした・・・。。

やりたい事を書いてみます
セルA1→日付を記入
セルA2→EDATE(A1;6)
この際、A1に全角半角関係なく6/12と入力してA2に6ヶ月後の日付を表示させたいです。。。

現在は半角6/12と入力するか全角6-12と入力しています。。。

良い方法が有ればご教授いただければ幸いです。
OpenOffice 3.3 on Windows 7
MoIshihara
記事: 337
登録日時: 6月 21, 2010, 6:52 am

Re: 日付の変換について

投稿記事 by MoIshihara »

tako1611 さん こんにちは

・[A2]セルで下記関数を試してみて下さい。
=IF(ISNUMBER(A1);EDATE(A1;6);IF(ISTEXT(A1);EDATE(DATEVALUE(ASC(A1));6);""))

・前回も書きましたが「6/12」と入力すると[文字列]として扱われます、つまり年の値を保持していませんので、来年になると表示される年が変わりますので注意して下さい。
返信する

“Calc”に戻る