エクセルで日付を入れたら年の設定をしたい

このQ&Aのポイント
  • エクセルで有給休暇の計算表を作成しています。従業員が有休を消化する際に日付をセルに入力し、残数を減らす形式です。問題は、日付が現在の年ではなく計算表の年と一致するようにする方法です。
  • 計算表は年ごとに更新されます。例えば、H24.9.1からH25.8.31までの期間の表を作成します。ただし、日付を入力する際に現在の年と一致させると、正しく計算表の期間と一致しません。
  • H24.9.1~H25.8.31の計算表で、H25年に実際の日付を入力すると、セルの値は2013/9/1になります。H25年に入力してもセルの値が2012/9/1にならないようにするための方法はありますか?
回答を見る
  • ベストアンサー

エクセルで日付を入れたら年の設定をしたい

 今、エクセルで有給休暇の計算表を作っています。 各従業員がいくつかの有休を持っており、消化をした際に その日付をセルに入力して、残数が減っていくという形のものです。  計算表自体は一年ごとの更新のもので作っているので、 例えば「H24.9.1」からであれば、「H25.8.31」までの期間のものを作るといった感じです。  その際に問題なのが、先程の消化をした日付をセルに入力する 所で、通常は「8/1」と入力すると現在の年の「8/1」となると思いますが、 これを、先程の一年間の中で入力した際に、表の中での年月日と合うようにできるのでしょうか?  「H24.9.1~H25.8.31」の期間の計算表で、H25年に実際なってから「9/1」と入力すると 2013/9/1になっていると思うのです。 これをH25年に入力してもセルの値が「2012/9/1」になったり H24年中に「8/1」と入力してもセルの値が「2013/8/1」となるようにできればと思うのですが どういった方法をとればいいでしょうか?

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

  • ベストアンサー
  • alvagina
  • ベストアンサー率60% (3/5)
回答No.1

直接の答えになっていないかもしれませんが、ひとつの解決策として、入力セルとフォーマットして表示するセルをわける方法はどうでしょう。 例: A1に期間開始年月日 (例:2012/9/1) B1に期間終了年月日 (例:2013/8/31) B4に月(例:3) C4に日(例:10) で、D4に =DATE(IF(DATE(YEAR($A$1),B4,C4)-$A$1>=0,YEAR($A$1),YEAR($A$1)+1),B4,C4) を入力。 あとはその下に、月日を入れると自動で年月日になって表示するようにすれば良いです。 ちょっとゴリゴリ感がありますが、何かのヒントになれば嬉しいです。

hanatuki20
質問者

お礼

回答ありがとうございます。 こういった形での範囲の表示のさせ方もあるという事を 勉強させていただきました。 ありがとうございました。

その他の回答 (2)

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.3

マクロを使わなければできませんね。 例えばシートにコマンドボタンを配置し、それをクリックすることでA2セルから下方に入力した日付をお望みのような日付に変更するとしたら次のようにします。 A1セルにはH24.9.1と入力し、B1セルには「から」、C1セルにはH25.8.31のように入力します。D1セルには「の期間の計画表」とでも入力します。 「開発」タブの「挿入」からコマンドボタンをクリックしてシート上で四角を描きます。コマンドボタンが配置されます。そのコマンドボタンを右クリックして「コードの表示」を選択します。 表示の画面では次のコードを入力します。 Private Sub CommandButton1_Click() Dim i As Integer For i = 2 To Range("A65536").End(xlUp).Row If Month(Range("A" & i).Value) >= Month(Range("A1").Value) Then Range("A" & i).Value = DateSerial(Year(Range("A1")), Month(Range("A" & i).Value), Day(Range("A" & i).Value)) Else Range("A" & i).Value = DateSerial(Year(Range("C1")), Month(Range("A" & i).Value), Day(Range("A" & i).Value)) End If Next End Sub シートの画面に戻って「開発」タブの「デザインモード」に色がついていたらそれをクリックして消します。 その後にコマンドボタンをクリックすることでお望みのようにA2セルから下方の日付が変更されます。

  • Cupper-2
  • ベストアンサー率29% (1342/4565)
回答No.2

年から入力する。 でもって表示は月日になるよう、    セルの書式設定 で指定しておく。 横着したい気持ちは分かりますが、これで普通に対処できます。 (H25/8/1 と入力してもOK)

hanatuki20
質問者

お礼

回答、ありがとうございます。 確かに、一番この方法が確実ですね。 最初からそういう入力の仕方で、という事で 決めておけばいいだけですし。 こちらで、実践してみたいと思います。 ありがとうございました。

関連するQ&A

  • Excelで日付を来年の2013年にしたい

    Excel2010を使って来年の小遣い帳を作っています。 日付欄に「1/1」と入力したら「1日」と表示するようにユーザー設定をしています。 しかし、この場合のセルの値は「2012/1/1」になります。 来年用なので「1/1」と入力するだけで「2013/1/1」の値になるようにできないでしょうか? 最初のセルだけ「2013/1/1」と入力して「1日」と表示させるのですが、それ以降も「2013」を覚えさすことはできないでしょうか? 隣のセルに「=WEEKDAY()」関数で曜日を入力しているので「2013年」の値が必要なのです。 日付が続き番号ならオートフィルでコピーするのですが任意の日付入力です。 本当は「1」と入力したら「1日」、「5」と入力したら「5日」と表示させたいのですが・・・。(2013年の) どうしても毎回「2013/*/*」と入力しないとダメでしょうか? 宜しくお願いします。

  • エクセルで日付の計算

    エクセル初心者です。私は、エクセルである免許の有効期間などの管理をしています。有効期間は5年間なので、次のように 免許年月日の日付を「2001/6/15」と入力し 表示はH13.6.15させています。 次に、免許の有効期間のセルのところを「H18.6.14」に免許の有効期間を自動計算するには、どうすればいいのでしょうか 色々と調べたのですがわかりません、宜しくお願いします。  

  • Excel  1年前の日付を自動表示

    あるセルに日付を入力すると 別のセルに1年前の同日の日付が表示されるような計算式を教えてください。 たとえば今日ならあるセルに 12/21 と入力すると2006/12/21となりますが、 別のセルでは2005/12/21となるような計算式です。

  • エクセル日付の引き算

    エクセルで入力されている日付A、日付けBの期間日数を計算する関数ありますか? 例:セルA3 2006/10/29 セルA4 2006/11/1 10/29 カら 11/1 の期間日数=3

  • 条件付き設定について

    こんにちは。エクセルの条件設定について教えて下さい。 例えば、あるセルにH27.3.5と入力した場合、H27.3.1~H27.3.31の期間の 日付の入っているセルすべての色が変わるようにしたいです。 すべてのセルと言う部分は、縦10×横10位セルに色々な年数の日付が入っています。 この中から、あるセルにH27.3.5と入れた際に、H27年3月に属する日については 全て色がセルにつくようにしたいのです。 あまりうまい説明ではありませんが、、宜しくお願い致します。

  • エクセルの日付けに関して

    行に沿って約130の日付けを入力しています。 年をまたぐ(2004→2005)のですが、始め理解して なかったので、年を入れず入力してました。 それを使いグラフを作成してるのですが、うまく 表示しなくなりました。 それで、もういちど、年をいれて日付けを入力 しなおそうとおもってます。 (1)はじめのセルで長い文章(表題なのですが)を  入力して、セルの幅をひろげたいのですが、  文章の最後をダブルクリックしてとあるので  すがうまくいきません。 (2)日付けを全部入力しなおしたいのですが、一度  にうまくいく方法はないですか?  日付けは土日祝を除いてますので続いたものでは  ないです。 この表は他の部分はいろいろ数字がはいってますので、 それはそのまま使いたいので、新しく作成するもの ではありません。 あくまでも表題と日付けの部分をやりかえたいのですが。

  • エクセル できそうで出来ないIF関数

    エクセル初心者につきご教授をお願い致します。 キーとなる日付(必ず月末日)を入力すると、別集計した集計表上の一致する日付(必ず月末日)で求めた値が、計算式を入れたセルに答えとして表示される…と言う事をしたいのですが。。 F7…キーとなる月末日(例…2009/4/30) G13…集計表上の一致する月末日(例…2009/4/30) H13…G13の条件で求めた値 上記の条件で任意のセルへ「=IF(F7=G13,H13)」と計算式を入力したらH13の値が表示されました…OK。 引き続き同条件でG14~の条件で求めた、H14~の値を、F7の日付を入れる事で求めたいのですが、どのようにしたら良いのかわかりません。 どうかご教授をお願い致します。

  • エクセルで表作り

    エクセルで表を作りたいのですが 書き込むのは、日付や、いろんな値です。 まず、日付についてですが 表の中の日付を入力するセルに 「 年 月 日」と入れておいたのですが 実際にそこへ入力するとセルの上からだと前に入力したものは削除されてしまうし、 数式バーに入力しても数字だけ入力すると 「 19年 12月 26日」となりスペースの部分を消しながら入力しなければ 「19年12月26日」とはならずカナリ面倒です。 どのようにしたら毎回楽に日付を入力きるのでしょうか? 値は色々な単位があり 円とか冊とか本とか毎回必ずあるので やはり表中に最初から入力したのですが 日付と同じくセルに直接入力すると前に書き込まれていたものは消えてしまいますし 数式バーに入力すれば消えずに入力できますが そのたびに数式バーをクリックしなければならず とても面倒です。 列により入力する単位は同じなのですが 数字を入力するだけで 自然に冊とかの単位が出てくる方法などありませんか? 文章力が無いので分かりづらいかと思いますが よろしくお願いいたします。

  • エクセル2003 関数で日付を計算

    エクセル2003を使用しています。 関数で不可能なら、簡単なマクロもOKです。 V34に日付が入力されています。 このセルの内容は時々手入力で変更されます。 3ヶ月後の日付を別のセル(I122)に以下の様な関数で求めています。 =IF(V34="","",EDATE(V34,3)) この3ヶ月後の計算を以下の様に変更したいのですが、どうしたら良いのでしょうか? V34の日の値が1~15の場合には、翌々月の最終日を表示。 (例:V34がH20/6/12の場合、H20/8/31が表示される。) V34の日の値が16以降の場合には、3ヶ月後の最終日を表示。 (例:V34がH20/6/16の場合、H20/9/30が表示される。) ご教示の程、よろしくお願い致します。

  • エクセルの日付入力

    OSはXPで、エクセル2002です。例えば、160617と入力すると、H.16年6月17日とセルにでるようにしたいのです。日付をたくさん入力するので、どうかよろしくお願いします。

専門家に質問してみよう