Excelの日付型の入力規則

このQ&Aのポイント
  • Excelの日付型の入力規則について解説します
  • ファイルに含まれる日付型の列を正しく入力する方法を説明します
  • 「11.11.11」のように入力された場合でも「2011/11/11」に強制的に変換する方法を教えます
回答を見る
  • ベストアンサー

Excelの日付型の入力規則

Excel2007です。 あるファイルで特定の列に"yyyy/mm/dd"の日付型の値を入力するように書式設定しています。 ところがそのファイルは社内で多数の人が参照・入力をするもので、中には 「2011/11/11」 とすべきところを 「11.11.11」 というように入力する人もいます。 このファイルにはマクロが含まれていて、その日付型の列を参照して帳票を出力するようになっているので、「11.11.11」だと日付型のデータと認識してくれずに誤った情報を出力してしまうことがあります。 データの入力規則を設定して"yyyy/mm/dd"以外の書式を入力できないようにしてみましたが、社内の人から「入力の値が正しくありません」というメッセージが出るたびにメッセージの意味がわからず「入力ができない」と問い合わせが来ます。 PCをほとんど扱えない人が多い上にパートさんバイトさんなどの入れ替わりが激しいのでなかなか説明が行き届かず… 何をしたいかというと、「11.11.11」のように入力された場合でも「2011/11/11」に強制的に変換されるようにできますでしょうか? ※ちなみに社内にはExcel2003を使っている人もいます

質問者が選んだベストアンサー

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.2

やって出来ないことではありませんが, >社内の人から「入力の値が正しくありません」というメッセージが出るたびにメッセージの意味がわからず「入力ができない」と問い合わせが来ます。 添付図のように「何が違っててどうしたらいいのか」丁寧に説明して,入力するヒトにキチンと「正しいデータ」を記入してもらうべきところです。 マクロ等を使って黙ってお世話してあげることも不可能ではありませんが,黙って「間違って直してしまう」方が危険です。

narnia_aslan
質問者

お礼

わざわざ入力例まで教えていただいてありがとうございます。 そのようにして周知を徹底します。

その他の回答 (3)

  • a987654
  • ベストアンサー率26% (112/415)
回答No.4

NO3の意見に1工夫(マクロ変更しないで済む方法) 現在の入力セル以外の所に年、月、日の入力セルを 作って入力してもらいます。 仮にB10~B12に年、月、日としたら 現在の入力セルに =DATEVALUE(TEXT(B10,"#")&"/"&TEXT(B11,"#")&"/"&TEXT(B11,"#")) (B10~B12はおつくりになる表に合わせて変更願います。) 入力は、数値、全角、半角、全角/半角混在、数字の文字列どれでも 構いません。 但し”2011年”の様に入力するとエラーになります。

narnia_aslan
質問者

お礼

ありがとうございます。 年月日に分けるとまた入力時に混乱を招くかもしれませんので入力規則で対応してみます。

  • hayasi456
  • ベストアンサー率40% (2402/5878)
回答No.3

マクロの変更は面倒でしょうけど 不特定多数の人に間違いなく同じように入力してもらうことが重要でしょうから 日付を3列にして年、月、日とそれぞれ独立させ 入力規則の日本語入力をオフ(英語モード)に設定しておいてはいかがでしょう。 可能ならば年もしくは年月は入力しておいて、月日もしくは日のみ入力すれば良い様に されてはいかがでしょう。

narnia_aslan
質問者

お礼

ありがとうございます。 年月日を分けるとまた混乱が起きそうなので… 入力規則で何とかしてみます。

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.1

それは単に入力規則のエラーメッセージを「yyyy/mm/dd の書式で入力してください。例:2011/11/11」ってな感じに変更してやれば済む問題では無いでしょうか。 変な機能を組み込むと後々のメンテナンスも大変ですよ。

narnia_aslan
質問者

お礼

ありがとうございます。 そのようにしてみます。

関連するQ&A

  • EXCEL 日付の入力形式

    こんにちは。 日付が、dd/mm/yyyyの形式で入力されたデータをもらいました。 関数を利用したいのでEXCELに日付として認識させたいのですが、 セルの書式設定で設定してもだめなようです。 質問 1)yyyy/mm/ddの形式で入力されていないと日付として認識されないのでしょうか? 2)現在の形式のまま、日付として認識させる方法はありますか? 3)dd/mm/yyyyをyyyy/mm/ddに変換する方法はありますか? 以上、よろしくお願いします。

  • Excel97の日付の書式設定

    現在Excel97で日付入力をしたいのですが、 最終的に演算に使用する日付で yyyy/mm/ddとyyyy/mmどちらでも入力できる書式設定を探しています。 yyyy/mm/ddの指定にするとyyyy/mmと入力してもyyyy/mm/01となってしまいます。 yyyy/mmのセルとdd専用のセルを別に作ると、ddを入力した時に 閏年のエラーチェックなどがかけられないので演算部分(1年後該当日前日の指定等)がうまく働きません。 いい方法がありましたら教えてください。

  • エクセルでの日付書式について

    エクセルでの日付書式についての質問です。 1968/4/1を、(S43) 1968/04/01のように表示させたいのですが、「セルの書式設定」のユーザー定義で、(gee) yyyy/mm/ddとすると (S43) 43/04/01と表示されてしまいます。 (yyyy) gee/mm/ddならば(1968) S43/04/01と書式通りに表示されるのですが。 ちなみにExcel2000では出来て、Excel2003では出来ないようです。 修正パッチなどご存知の方がいらっしゃいましたら、教えていただけると幸いです。 よろしくお願い申し上げます。

  • EXCEL 日付について

    EXCEL2000を使用しています。 表示形式は「yyyy/mm/dd」です。 日付を「1/5」と入力すると、「2006/01/04」と表示されます。「12/1」と入力すると、「2006/12/01」と表示されます。 昨年の12/31までの日付を入力する場合、「2005/12/31」と表示させたいのですが、どうしたらいいのでしょうか? ご回答の程、よろしくお願いいたします。

  • 日付の書式

    Excel2010でA列の日付の書式をB列に「[$-411]ge.mm.dd」、C列に「yyyy.mm,dd」の書式に変換したい。 B列、C列のB1,C1に「=IF(A1="","",A1)」の式を使用し、下方向にコピーした。 A列2012.1.1、2012.2.25、2912.12.31の日付はB,C列に変換されない。 A列2012.01,01、2012.02.25はB列が変化しない。 書式を変化させる方法はありますか

  • 変数に昨日の日付を入力したい

    XP Excel2003を使っています day_z = Format(Now, "yyyy/mm/dd")で当日の日付を入力していますが、これを昨日の日付で入力したいのですがよろしくお願いします。

  • 日付型の入力値チェック

    こんにちは。 下記のようなフォーマットで日付型のチェックをしたいと 思っています。最低限(1)YYYYが入力されていればOKで、 最高だと(8)YYYY-MM-DDThh:mm:ss.sTZDまで入力可能です。 この日付が妥当であれるかどうかの判定はどのように するのが良いでしょうか? YYYY[-MM[-DD[Thh[:mm[:ss[.s[TZD]]]]]]] (1)YYYY (2)YYYY-MM (3)YYYY-MM-DD (4)YYYY-MM-DDThh (5)YYYY-MM-DDThh:mm (6)YYYY-MM-DDThh:mm:ss (7)YYYY-MM-DDThh:mm:ss.s (8)YYYY-MM-DDThh:mm:ss.sTZD ちょっと考えたのは、まず、長さを見て各文字列を パースして各場所の数値の妥当性をチェックって 言うものです。これでも出来そうな気もしますが、 他にも良いやり方などありましたら、 ご教示宜しくお願い致します。

    • ベストアンサー
    • Java
  • 日付型のテキストボックスに数値を入れて日付にしたい

    アクセスのフォームの上にテキストボックスがあり、 書式はyyyy/mm/dd(aaa)になっています。 日付型の値を入力した際は問題ないのですが 例えば、20130720と入力したら、 このフィールドに入力した値が正しくありません。 例えば、数値型のフィールドに文字列を入力しました。 となります。 なので、 Private Sub 日付_BeforeUpdate(Cancel As Integer) If Len(Me.ActiveControl.Value) = 8 Then Me.ActiveControl.Value = Format(Me.ActiveControl.Value, "yyyy/mm/dd") End If End Sub としてみたのですが、 更新前処理イベントが発動する前に、 「このフィールドに入力した値が正しくありません。 例えば、数値型のフィールドに文字列を入力しました。」 のエラーが出てしまうようです。 20130720の形の日付を入れても自動で日付型に変換するの方法はありますか?

  • エクセルで日付、時間表示

    お世話になります。エクセル2000を使っています。 セルの書式設定-ユーザー定義で以下の条件で表示させたいのですが・・・・ 日付データとして、日付のみのものと、時間も入っているデータを、 日付のみのものは日付のみの表示に、 時間も入っているものは日付と時間を表示する。 具体的には、ある一つのセルに 2003/07/26と入力した時 → "2003/07/26"と表示 2003/07/26 18:30と入力した時 →  "2003/07/26 18:30"と表示 ユーザー定義で、 yyyy/mm/dd yyyy/mm/dd hh:mm でそれぞれの表示はできますが、例えば 時間データのないものに、yyyy/mm/dd hh:mmと定義すると、"2003/07/26 00:00"と表示されて都合がよくありません。 文字データとして、前に「’」を付ければ表示のみはできますが、数値データとして使えません。 少し長くなりましたが、よろしくご教示ください。

  • エクセルの日付書式を文字書式に変換

    エクセルで日付書式yyyy.mm.dd(例)を文字に直すと88418(例)になってしまいます。 やりたいことは日付で入力したものを文字書式に直し別シートに貼り付けたいのですがうまくいきません。 いい方法お教えていただけませんでしょうか。よろしくお願いします。

専門家に質問してみよう