• ベストアンサー
  • 困ってます

accessでの勤続年数の計算

ACCESS初心者です。 現在従業員名簿を作成しています。 勤続年数欄に過去の質問を参考に以下の関数を入力しました。 IIf(Day(Date())>=Day([入社年月日]),DateDiff('m',[入社年月日],Date())\12 & '年' & DateDiff('m',[入社年月日],Date()) Mod 12 & 'ヶ月',(DateDiff('m',[入社年月日],Date())-1)\12 & '年' & (DateDiff('m',[入社年月日],Date())-1) Mod 12 & 'ヶ月') 在籍中の方の勤続年数はこれで問題ないのですが、退職日欄に退職日付を入力した時に、退職日までの期間が表示されるようにしたいのですがどうしたらよいでしょうか? よろしくお願い致します。

共感・応援の気持ちを伝えよう!

  • 回答数2
  • 閲覧数3346
  • ありがとう数4

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

  • ベストアンサー
  • 回答No.1
  • bonaron
  • ベストアンサー率64% (482/745)

確認していないけど Date() を Nz([退職日],Date()) に変更すればいいんじゃないかな?

共感・感謝の気持ちを伝えよう!

質問者からのお礼

回答有難うございます。仕事が忙しくなかなか従業員名簿作成している時間がなく確認が遅くなりましたが、教えていただいたとおり関数を直したところ無事に希望どおりの計算結果になりました。有難うございました。

関連するQ&A

  • 勤続年数の求め方

    Access2003+SQLServer2005を使っています。 Accessのクエリでは勤続年数(2007年3月20日現在の勤続年数)を求めるのに以下を使っていました。 勤続年数: DateDiff("m",[入社年月日],#2007/03/20#)\12 & "年" & DateDiff("m",[入社年月日],#2007/03/20#) Mod 12 & "ヶ月" これを、ストアドプロシージャで行うにはどのように記述すればよいでしょうか? よろしくお願いします。

  • 勤続年数を算出する関数の違いを教えてください。

    度々ご質問させていただきすみません。 勤続年数を出力したいという旨の質問を参考にしてみると (1)DateDiff('m',[入社年月],Date()) \12 & '年' & DateDiff('m',[入社年月],Date()) Mod 12 & 'ヶ月' というものと、 (2)DateDiff('m',[入社年月],Date()) -1 \12 & '年' & DateDiff('m',[入社年月],Date()) -1) Mod 12 & 'ヶ月' がありますが、この2つの違いは何でしょうか? 本当にAccess初心者で申し訳なく、お恥ずかしい限りなのですが、ご回答の程よろしくお願い申し上げます。 また、先に質問した件につきましても、併せてご教授の程お願い致します。(質問:8338385)

  • エクセルで勤続年数を計算

    エクセルを使って勤続年数を計算しようと思っています。 入社年月日を入力し、TODAYで今日までの勤続年数を計算しようと思ったのですが、うまくいきません。 どのように入力をして、どのような式にしたらよいでしょうか。 勤続年数は、できれば年と月まででればいいなと思っています。日にちまではいりません。 どなたかわかる方教えてください。      1      2      3   A 入社年月日        勤続年数 B H15.8.1   TODAY   ●年●月

その他の回答 (1)

  • 回答No.2

ayapon7792さん 今日は! 現役時代にAccess98でプログラムを組んでいましたが、Access2000以後関数もVBAもかなり変っていますので貴方の質問内容ではVBAで組まないと無理ではないでしょうか? モーグのAccess情報でいろいろコードの書き方を、調べても良いと思います。 ■モーグサイト↓ http://www.moug.net/index.html フリーソフトですがソースが見る事が出来れば「年齢計算・期間計算が!まぁ簡単!」が参考に為ると思いますが? 年齢計算・期間計算が!まぁ簡単!↓ http://www.moug.net/cgi-bin/softwaredl.cgi?access+SI2003121201 ■AccessForum 過去ログ全文検索システム↓ http://www.accessclub.jp/search1/namazu.cgi?query=%8B%CE%91%B1%94N%90%94 このサイトも参考にされてはいかがでしょうか? 無責任ですが昔の資料を探すのに時間が掛かると思うので、ダイレクトな回答が出来ませんでした。 ■Microsoft Access Clubのサイト↓ http://www.moug.net/index.html このサイトも勉強には適しているサイトですので是非一見下さい。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ご回答有難うございました。サイトをいろいろ紹介していただき大変参考になりました。

関連するQ&A

  • お世話になります。

    お世話になります。 先日、間違えて AccessVBA質問箱に投稿してしまいましたが、 あらためて宜しくお願い致します。 【質問】 クエリで勤続年数を計算させたいんですが、困っています。 通常だと、"入社年月日"から"本日"または"退職日"で、 勤続: Int((IIf(DatePart("d",[入社年月日])>DatePart("d",Date()),DateDiff("m",[入社年月日],Date())-1,DateDiff("m",[入社年月日],Date()))/12)) & "年" & IIf(DatePart("d",[入社年月日])>DatePart("d",Date()) And DateDiff("m",[入社年月日],Date())=0,DateDiff("m",[入社年月日],Date())-1,DateDiff("m",[入社年月日],Date())) Mod 12 & "ヶ月" で良いのか?と思いますが、 "契約入社年月日" "社員採用年月日" "退職日" と有ります。 "契約入社年月日"のみで、その他に日付が記載されていない場合は "契約入社年月日"~"本日"迄の年数。 "契約入社年月日" "社員採用年月日" の両方に日付が記載されている場合は "契約入社年月日"~"社員採用年月日" 迄の勤続年数と "社員採用年月日"~"本日"迄の勤続年数。 "契約入社年月日" "社員採用年月日" の各々の列の隣に勤続年数の列を追加 しますので、 "契約入社年月日"の場合は、"社員採用年月日"が空白の場合、"本日"までの勤続年数。 "社員採用年月日"の場合は、"社員採用年月日"が空白の場合、空白で。 "社員採用年月日"に日付の記載が有る場合、"本日"までの勤続年数。 で、計算させたいんですが、ご教授お願い致します。

  • エクセルで、簡単に勤続年数を表示させたい

    エクセルで、「入社年月日」を入力すると、自動的に勤続年数が表示される計算式を探しています。 例:入社年月日 【2000.01.01】   勤続年数 【6】 上記のような表示方法です。 そうすると、何日現在を決めなければいけなくなると思いますが、 その年の1月1日現在でも、今日現在でも、どちらが適当なのか分かりませんが、 実際にお仕事で使っている方、教えて下さい。 宜しくお願い致します。

  • 勤続年数の平均値の求め方

    こんにちは、エクセルについて教えてください。 ある会社での各社員の勤続年数の計算でA列に入社年月日、B列に本日の年月日があり、C列にAとBの期間(勤続年数)計算を =DATEDIF(A30,B30,"Y")&"年" & DATEDIF(A30,B30,"YM") & "月"で ●年●月で表示させています。 さて、この各社員の勤続年数の平均を出すために通常のAvarage関数を使うと「ゼロで割りました」のメッセージが出て計算してくれません。勤務年数の平均を求める方法を教えてください。

  • 平均勤続年数の出し方について

    調べたのですが、平均勤続年数がどうしてもエラーになってしまうので、教えてください、お願い致します。 K(入社年月日)  L (基準日) K2 (2010/4/1)  L2 (2013/3/31) K3 (2011/1/1) ・ ・ ・ K69 (2013/3/25) この場合の、基準日時点の平均勤続年数の関数は =DATEDIF(AVERAGE(K2:K69),L2,"Y")&"年"&DATEDIF(AVERAGE(K2:K69),L2,"YM")&"ヶ月 と入力してもエラーになってしまいます。 分かる方どうか教えてください!

  • 平均勤続年数

    平均の勤続年数の出し方を教えて下さい。 基準日→ 2020年3月31日 (1) 2014年6月16日入社 (2) 2019年5月23日入社 この2名分の勤続年数をエクセルで〇年〇ヵ月で出すにはどのようにすれば宜しいでしょうか? A1に基準日を入れています。 入社年月日はA2からA3です。

  • 勤続年数の平均を出したい

    エクセル2000で社員名簿を作っています。 平均勤続年数を出したいのですが、=AVERAGE(勤続年数の入ったセル一覧)としても答えが出ず、#DIV/0!となります。 ちなみに勤続年数は   =DATEDIF(E4,$F$2,"Y")&"年"&DATEDIF(E4,$F$2,"YM")&"ヶ月"     ※F2セルに今日の日付、E列に入社年月日が入っています という関数で出しており、セルの書式は「標準」です。 平均年齢は同じ方法で出せるので、不思議です。。。 よろしくお願いします。

  • 勤続年数の出し方で詰まっています・・・。

    勤続年数を書類作成日から求めるっていう数式で、 DATEDIF関数を使って H3  =書類作成日(yyyy/mm/dd) F27 =入社年月日(yyyy/mm/dd) F28 =勤続年数 (○年 と表示したい) *H3,F27、いずれかが空白の場合はF28は空白表示 if文でネストすると F28=if($H$3="","",if(F27="","",DATEDIF(F27,$H$3,"y")&"年")) でOK・・・なのですが、勤続年数が1年未満だと「0年」と表示されて しまい、じゃあ、「▲ヶ月」で表示・・・と思ったら、 ExcelのヘルプでDATEDIF(F27,$H$3,"ym")では だせないみたいです。 どなたか「▲ヶ月」と表示が出来る方法を教えて 頂けませんか?仕事の書類なので、とりあえずは 「▲ヶ月」の従業員はベタ打ちにしてしまってますが、 1年後にこの書類を開きH3の日付を打ち変えれば 「1年」と表示がなると助かる、という書類なので。 よろしくお願いします。

  • Excelで入社・退社年月日を入力して、勤続年数表示したい

    Excelで入社年月日と退社年月日を入力すると、 勤続年数が表示できるようにしたいのですが、 方法が分かりません。 DateDifという関数があると過去の質問を検索してみたらでてきましたが、どのように使ったらよいのかが分かりません。 入社年月日⇒14年4月1日 退社年月日⇒16年4月20日 勤続年数⇒2年1ヶ月 という具合に、一ヶ月未満の日数がある場合は1ヶ月に繰上げて表示したいです。 そして、休業期間がある場合は同様に休業期間を表示して、勤続年数からマイナスして結果的に 勤続年数-休業期間=在職期間 と表示できるようにしたいです。 ご存知のかた教えてください!よろしくお願いいたします。

  • 勤続年月数の計算式教えて下さい

    勤続年月数の計算式教えて下さい A1に入社年月日を入力しています。 B1に本日までの勤続年数を出したい。次にC1に月数を出したい。年と月を別々のセルに 出したいので宜しくお願いします。

  • エクセルで勤続年数を計算したい

    こんにちわ。 社員名簿で入社日から今現在の勤続年数(年月単位)を自動的に計算させるにはどの様にすれば良いかどなたか教えていただけませんか? ちなみにバージョンは2000です。 宜しくお願いします。