こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

エクセルの日付入力【再】

本日9:44に、同タイトルで質問をしたものですが、
頂いた回答の通りに実行しているうちに、お答え頂いた
方法と私が実際求めていた方法が違うことに気がつきました。

朝質問したのは、エクセルで日付入力をする場合に、
表示形式はH15.○.○という形式を設定して、ただし
今年の日付ではなく自動的に2年前の日付にするには
どうしたらいいかというものでした。
お答え頂いた回答は、A1に今年の日付があるとして、

DATE(YEAR(A1)-2,MONTH(A1),DAY(A1))

この式を入れれば良い、ということでしたが、そうではなく、
たとえばB列全部に対してH15.○.○という表示形式を
設定していれば、9/30と入れれば自動的にH17.9.30に
なると思うのですが、これを自動的に2年前の日付に
なるようにしたいのです。
以前にもある方に教えて頂いたのに忘れてしまい、
そのとき教えて頂いた方法は、まずB列全体を選択して、
右クリック→「セルの書式設定」→「表示形式」→
「ユーザー定義」と進んだように記憶しています。
ただその後が思い出せません。

度々すみませんが、ご回答お願い致します。

投稿日時 - 2005-09-30 13:21:23

QNo.1682902

困ってます

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

表示だけH15にするなら
右クリック→「セルの書式設定」→「表示形式」→「ユーザー定義」で
"H15."m.d
で表示になりますね。
実際の年はH17のままです。閏年のある年の場合、29日の表示が出来ない場合があります。

投稿日時 - 2005-09-30 13:41:49

お礼

mshr1962さん、ありがとうございます。

おっしゃるとおりにやってみたところ、できました!
表示さえH15となればいいので、この方法で解決できました。

ありがとうございました。

投稿日時 - 2005-09-30 14:58:40

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

Xen

値も変えたい場合にはマクロで自動的に変更することが可能です。

Private Sub Worksheet_Change(ByVal Target As Range)
 On Error GoTo EETrue
 If Left(Target.Address, 2) = "$D" Then
  Application.EnableEvents = False
  Target.Value = DateAdd("yyyy", -2, Target.Value)
  Application.EnableEvents = True
 End If
 Exit Sub
EETrue:
 Application.EnableEvents = True
End Sub

表示のみと言う事で解決されているようですが参考までに。

投稿日時 - 2005-09-30 15:20:11

お礼

Xenさん、ありがとうございます。
値も変えたいということは、表示のみでなく、中身も
15年に変えるということでよいでしょうか?

真ん中の英文というか何かの言語でしょうか?
これはちょっと私には理解できませんが、中身も
変える方法があるということ、覚えておきます。

ありがとうございました。

投稿日時 - 2005-09-30 16:26:53

あなたにオススメの質問