• ベストアンサー

エクセルで日付を判定

勤続年数をカウントしたいのですが、エクセルで毎年1月1日になったら、数字の入ったセルに値をたすような事ってできますでしょうか? 1年目、2年目・・・・みたいにしたいのですがどうでしょうか?

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

  • ベストアンサー
  • omusupa
  • ベストアンサー率61% (115/186)
回答No.5

補足見ました!これでははどうでしょうか? ----A------B------C------D------E--- 1------入社年月日---勤続年数---有給休暇日数-消化日数 2佐藤----2001/4/4----●●●----■■■■ 3鈴木 ●●●のところに、以下のような式を入れてみてください。 =DATEDIF(B2,TODAY(),"y")+1 -解説- DATEDIF関数は、2つの日付から期間をあらわす関数です。すなわち 2001/4/4から今日まで(TODAY()の部分です)何年("y"の部分)経過しているのか?と言うのがわかる関数です。しかし、満年で表示されるため、今回は入社した時点で1年目(有給11日)を得たいので、最後に+1を言うのを追加しています。 (もしかしたら、この式を入れて勤続年数だすと、表示が1900/1/3とかになってしまうかもしれません。その場合は、「書式」→「セル」→「表示形式タブ」の中で、「標準」と言うのを選択してください。すると、「3」と言う感じで、勤続年数になると思います。 ここでは、終了日をtoday()を使うことによって、その日現在の勤務年数がわかりますので、 >実際は社員一人一人違うのです。ですから、有給を加算する日も社員の入社日別で変わってきてしまいます。 ということでしたので、7/1に入社した人は、来年の7/1になった時点で、有給休暇が23日になり、10/1に入社した人は、来年の10/1になった時点で、有給休暇が23日になると言うことだと思ったのですが、どうでしょうか? 一度、式を入れて確認してみてください。 -まとめ- 勤続年数を出したいところには =DATEDIF(B2,TODAY(),"y")+1 有給休暇の日数を出したいところは =IF(C2=1,11,IF(C2=2,23,IF(C2=3,36,IF(C2=4,50,IF(C2=5,65,(C2-5)*15+65)))))-E2 実際にやってみて、不都合があったり、「●年●月●日に入社した人が有給休暇は、●日にならなければならないのに、●日になってしまう・・・」 などありましたら、補足してくださいね。

tomjap
質問者

お礼

ありがとうございます!! 私の要求通りの答えでした!! しかも、詳しく回答まで頂いて本当にありがとうございます。私もこれから少しでもできるようなる為にがんばってみようと思います。 すごく助かりました。ありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (4)

  • omusupa
  • ベストアンサー率61% (115/186)
回答No.4

補足見ました。それでは。 ----A------B------C------D------E--- 1------入社年月日---勤続年数---有給休暇日数-消化日数 2佐藤----2001/4/4----1------■■■■ 3鈴木 ■の部分に =IF(C2=1,11,IF(C2=2,23,IF(C2=3,36,IF(C2=4,50,IF(C2=5,65,(C2-5)*15+65)))))-E2 と入力してください。そうすると、各社員の勤続年数分のトータル日数がでます。 そして、消化日数に今までの消化した有給休暇を手動で入れていくと、残の有給休暇がD2に表示されます。 で、問題は、勤続年数のことなのですが、 2002/7/1の時点で2002/4/2に入社した人は有給休暇11日ですか?(勤続年数は1年ですか?) それとも0日ですか? 補足お願いします。(だいぶ分ってきましたよ(たぶん)もう少しだと思います)

tomjap
質問者

補足

遅くなってすいません・・・ 入社日は人それぞれ違うので、入社した時点から、一年目となりまして有給は11日です。 7月1日は基本的な入社日(新入社員等)で、実際は社員一人一人違うのです。 ですから、有給を加算する日も社員の入社日別で変わってきてしまいます。 色々な事まで考えてくださって、本当にありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。
  • omusupa
  • ベストアンサー率61% (115/186)
回答No.3

はいわかりました。 でも、もう少し具体例がほしいのですが・・・ 質問1 氏名----勤続年数---有給休暇 佐藤和也----7------? 斉藤栄子----1------? 加藤洋介---10------? ?のところに、何と言う数字が入ればいいですか? 単純に勤続年数が1年だと有給休暇が11日、2年だと22日ではないですよね。 何か規則があると思うのですが・・・ 質問2 >有給休暇に11を自動的に加算できるようにしたいのです これは、毎年7月になると 加藤洋介---10------22(この数字は仮に…ってことで) が 加藤洋介---10------33 と言う風にしたいということでしょうか? もしかしたら、今日はもうPC見ないかもしれません。もしほかの方 わかる方いらっしゃいましたら、答えてあげてください。

tomjap
質問者

補足

補足遅れて申し訳ありません。 ?のところは、単純に有給休暇の残日数の数字が入ります。 有給を使用した場合は?部分を手動で使用した分だけ、減らしています。 その数字に、毎年7月になった場合11を追加しています。 規則的な事は、入社1年目は11日、2年目は12日と最大15日(勤続5年目)まで増えますので勤続5年目までは7月になるとそれぞれ、違う値が加算されます。また、5年以上の人はすべて15日の加算となっています。

全文を見る
すると、全ての回答が全文表示されます。
  • omusupa
  • ベストアンサー率61% (115/186)
回答No.2

まず、 2002.12.5に入社した人は2003.1.1の時点で 0年目になりますか?それとも1年目? 0年目と表示させたいのであれば、(満で考えるのであれば) =datedif(入社日の入っているセル,today(),"y") でいいと思います。 1年目と表示させたいのであれば、 =year(today())-year(入社日の入っているセル) でどうでしょうか? それとも・・・ 2000.2.2に入社をして、2003.1.1の時点で 2年目と考えて2003.2.3になると3年目になるのを、2003年度中は いつファイルを開いても2年目となるようにしたいのでしょうか? それであれば、 =datedif(入社日の入っているセル,date(year(today()),1,1),"y") どうでしょうか?もう少し具体例などがあれば、答えらられるのですが・・

tomjap
質問者

補足

実は有給休暇のカウントに使いたかったのです。すいません。 社員名簿があり、入社日のセル、勤続年数のセル、有給休暇のセルがあり、 毎年7月に有給休暇に11を自動的に加算できるようにしたいのです。 できれば、勤続年数により加算する数値を変動させたいのですが・・・ 甘えすぎですいません。

全文を見る
すると、全ての回答が全文表示されます。
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.1

(1)D1に2003/1/1と入れる。 (2)A列に入社日があるとして A1に=DATEDIF(A1-365,$D$1,"y")と式を入れる。 (3)B2以下を複写する。 (4)B列のセル書式を標準にする。 (5)未入力セルでは#NUMが出ますが、この例では 不要かと思います。消し方はご存知と言うことで略。 (6)毎年新年にはD1の日付けを今年の正月日に書きかえる必要あり。 (7)閏年のとき2月末入社の人用に355-->366 としないといけないかも。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセルで日付の判定を行いたい

    エクセルで特定の日時の期間内でのカウントを行っているのですが、別のセルに年・月・日を記入する形をとって、各セルの数字を判定して、1月のデータだから、1月にプラス1という計算を行っていますがスマートではありません。 同じセル内で2013/1/1と書かれてもこれは1月のデータだと判定する方法はありませんか?

  • エクセル 西暦どうしの引き算をするには

    エクセル 西暦どうしの引き算をするにはどうしたらよいでしょうか。 セルの値は2008/11/05でこのセルの表示は平成15年11月5日となっています。本日からこのセルの値を引いて勤続年数をだしたいのですが、どのように設定したらよいのかを教えてください。

  • エクセルで勤続年数、年齢により勤続年数を変える

    社員の勤続年数について、エクセルでの計算について知恵を貸して下さい。 基準日は毎年4月1日現在で勤続年数を計算します。ただし、60歳に達した者については、60歳に達した日後の最初の4月1日以降の勤続年数は計算しない。なお、55歳に達した日後の最初の4月1日から60歳に達した日後の最初の3月31日までの勤続年数は実勤続年数の1/2とします。 単純な採用日から4月1日までの計算はDATEDIFを使ってできるのですが、55歳(60歳)に達した日後の最初の4月1日(3月31日)に手こずっております。 よろしくお願いします。

  • エクセルで入力すると日付などになってしまう

    エクセルで5-1(5ハイフン1)と入れたいのですが、5月1日となってしまいます。どうすればよいでしょうか? 書式→セル→セルの書式設定→表示形式から標準等を選んでも、サンプルの数字が出てきてしまいます。 お願いします。

  • Excelにおける日付

    仕事用に他部署からデータをExcelでいただいたのですが、1万件近くのデータが入っており、このデータの日付が全て7桁の数値として入力されているため、活用できず困っています。 Excelに詳しい方のお知恵を拝借したく、質問に参りました。 行いたい処理は、Excelのあるセルに「20050301」という7桁の数字が入力されている場合、これを別の1つのセル内に「2005年3月1日」という日付として認識させたいのです。 そういったことはできるのでしょうか? セルの書式で、表示形式をユーザー定義・####年##月##日とすれば、「2005年03月01日」と表示させることは簡単にできますが、そうではなく、7桁の数字を日付として認識させ、日付関数を使って日数の計算をしたいのです。 A1セルに「20040301」、B1セルに「20050301」と入力されているとしたら、これをそれぞれ「2004年3月1日」、「2005年3月1日」と認識させ、その間の日数が365日という結果を算出するのが目的です。 ダイレクトにできなければ、途中にいくつかの列を経由しても構いません。 よろしくお願いします。

  • Excel での日付表示

      はじめまして Excel 2010を使用しています。 セルに平成24年11月28日と数字を全角で入力すると、数字が半角になってしまいます。 数字を全角にするにはどのようにすれば良いのでしょうか? よろしくお願いします。  

  • エクセルで、ある期間の日付のカウントのやりかた

    例 A列に 平成16年1月1日    平成17年5月1日    平成  年 月 日    平成17年12月31日    平成18年4月2日     … と日付と文字が入力されているとします。  A列の中に平成17年4月1日から平成18年3月31日の期間に含まれる日付がいくつあるかをカウントしたいのです。  この期間をあとで変えられるようにしたいので、平成17年4月1日はB1のセルに平成18年3月31日はB2のセルにそれぞれ入力して、リンクを張った形でカウントする数式を作りたいのです。  わかりにくい説明ですがよろしくご教示願います。

  • エクセル関数:日付のカウントを教えてください。

    エクセルでのデータベースですが、 1件ごとに日付の項目を設けてます。 2004年から2005年のデータが混在してるのですが、 2005年5月1日以降の件数をカウントする方法を教えてください。 =COUNTIF(明細!D:D,">2005/5/1")としました。 実際は15件なのに、返ってくる数字が「23」と意味不明な数字が返ってきてます。 (D列:ユーザー定義で「mm/dd」で入力してます) どこが間違ってるかご教示ください。

  • エクセルで日付の個数を判定する。

    エクセルでの日付の個数を判定したいです。 具体的には 月日 走行時間 走行距離 平均速度 最高速度 累積距離 10月13日 1:12:14 17.84 14.8 28.2 4,046.3 というようにデータが入っていて、1行1回の走行データが入っています。 なので、月日欄が2行、もしくは3行同じ値がある場合、これを1とカウントし、1日あたりの走行時間、走行距離を計算したいのですが、たまに 07月12日 1:37:35 28.28 17.4 42.0 2,592.2 07月12日 0:13:55 2.33 10.0 19.4 2,594.6 07月13日 1:14:07 21.16 17.1 34.6 2,615.7 というように、1日2回記録がある場合、これを7月12日は1日とカウントしたいのですが、この場合関数などどのようなものを使えばいいでしょうか? データの個数=行数は今のところ235行でどんどん増やしていきたいのですが。 どうかよきアドバイスをお願いします。

  • エクセル関数(勤続年数計算)

    経歴書を作成の際、少し込み入った勤続年数を自動計算するエクセル関数を お教え願います。 尚、前提条件として、エクセル(Office2010)を使用で、 (1)例):D7セルに「1993/2/1」と入力し、D8セルに「1994/2/28」とします。     結果表示として、D7セルには「1993(平成5)年2月」、     D8セルには「1994(平成6)年2月」、     E7(E7セルとE8セルが結合)セルには、勤続年数「1年1ヵ月」と表示する関数 (2)例):D7セルに「2003/4/1」と入力し、D8セルに「2003/5/31」とします。     結果表示として、D7セルには「2003(平成15)年4月」、     D8セルには「2003(平成15)年5月」、     E7(E7セルとE8セルが結合)セルには、勤続年数「2ヵ月」と表示する関数     決して、「0年2ヵ月」と表示はしない (3)例):D7セルに「2003/4/1」と入力し、D8セルに「2004/3/31」とします。     結果表示として、D7セルには「2003(平成15)年4月」、     D8セルには「2004(平成16)年3月」、     E7(E7セルとE8セルが結合)セルには、勤続年数「1年0ヵ月」と表示する関数     決して、「0年12ヵ月」と表示はしない (4)例):D7セルに「1993/2/1」と入力し、D8セルに「1995/1/31」とします。     結果表示として、D7セルには「1993(平成5)年2月」、     D8セルには「1995(平成7)年1月」、     E7(E7セルとE8セルが結合)セルには、勤続年数「2年0ヵ月」と表示する関数     決して、「1年12ヵ月」と表示はしない ※上記の(1)~(4)を統合したエクセル関数を是非、ご教示願います。   物理的に困難な場合は、日付入力するD7、D8の箇所を変更しても構いません。 何方かこの手でお詳しい方、よろしくお願い致します。

このQ&Aのポイント
  • 都内在住一人暮らしの27歳男性が、マッチングアプリや婚活パーティー、友人紹介などを試しても彼女ができない理由について考えます。
  • 趣味やコミュニケーション力の充実はもちろん重要ですが、彼女ができない人はそれ以上の努力が必要です。
  • 自己分析や自己啓発、自信の醸成、魅力的な自己プロフィールの作成など、さまざまなアプローチが必要です。
回答を見る

専門家に質問してみよう