- 締切済み
【Excel】任意の西暦日付
書式の日付で「2001/3/14」というタイプがありますが、「1/1」と入力すると、自動的に2013年とその年の西暦が入力されてしまいます。 西暦を打たずに日付だけ入力し、任意の西暦(例えば2011年)が自動で表現させるにはどうしたらよいでしょうか?
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- chonami
- ベストアンサー率43% (448/1036)
オートコレクトのオプションで、例えば「..」(ピリオド2つ)を「2011/」と変換するように登録しておくと、例えば入力時に「..1/1」と入れると「2011/1/1」と変換されます。 私は「..」が「:」となるように登録しているの日付での使い方はしないんですが、入力する年が今年ではない日付を入れる事が多いようでしたらお試しください。
- 某HN クロメート(Chromate)(@CoalTar)
- ベストアンサー率40% (705/1742)
パソコンの日付で判断しますから日付を変えてしまうっていうのもありかもしれません。 ただし、カレンダーを元に戻してから最終保存しましょう。 要管理者権限
- tom04
- ベストアンサー率49% (2537/5117)
こんにちは! No.1さんが仰っているように少々手間がかかっても 2011/1/1 のように入力する方法が間違いがなく良いと思います。 どうしても 1/1 のように入力し、2年前の 1/1 のシリアル値にしたい場合は VBAになってしまいますが、一例です。 A列に1/1のように入力するとします。 画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面に ↓のコードをコピー&ペーストしてA列に日付データを入力してみてください。 Private Sub Worksheet_Change(ByVal Target As Range) 'この行から If Application.Intersect(Target, Range("A:A")) Is Nothing Or Target.Count <> 1 Then Exit Sub Application.EnableEvents = False On Error Resume Next With Target .Value = DateAdd("yyyy", -2, Target) '←「-2」の部分で年数を調整 .NumberFormatLocal = "m/d" End With Application.EnableEvents = True End Sub 'この行まで ※ セルの表示形式は m/d としていますので、好みで変更してみだくさい。m(_ _)m
お礼
詳しいご回答ありがとうございます。 なんだか大げさになってしまいますね。置換がいちばんよいかと思いました。
- yama_nishi
- ベストアンサー率65% (25/38)
ユーザー定義で "2011/"mm/dd とすれば表示上は2011/1/1となります。(1/1と打った場合) しかし、内部データ的には2013/1/1であり、 荒業中の荒業といえます。
お礼
ご回答ありがとうございます。 内部データ的にはあくまでも当年なのですね。 了解です。
- aokii
- ベストアンサー率23% (5210/22062)
通常はできません。 「1/1」と入力したあとで、2013を2011に全て「置換」を行ってはいかがでしょう。 あるいは、2011/1/1と入力してはいかがでしょう。
お礼
ご回答ありがとうございます。 やっぱりできないですかー。置換がいちばん妥当ですかね。
補足
できましたよ。 「セルの書式設定>表示形式>日付」での設定では、こう説明されています。 「…アスタリスク(*)で始まる日付形式は、オペレーティングシステムで指定する地域の日付/時刻の設定に応じて変わります。アスタリスクのない形式は、オペレーティングシステムの設定が変わってもそのままです」 同じ形式でもアスタリスクがついてない形式を選べばよいのです。
お礼
ご回答ありがとうございます。 なるほど、いろいろなアイデアがあるんですね!