• ベストアンサー

EXCELで勤続年数を出したいのですが…

入社が毎日のようにようにあります。 会社の締日は、25日です。 たとえば、10月26日~11月25日の間で入社した人は、一日でも勤務したなら、すべて1ヶ月と計算して、あとは、締日で区切って、計算したいのです。 11月10日~11月25日 1ヶ月(入社日~締日) 11月26日~12月25日 2ヶ月(締日~締日) 12月26日~ 1月25日 3ヶ月(締日~締日) A列…入社日、B列…入社日、C列…勤続年数(年)、D列…勤続年数(月)とします。 A ・ B   ・ C ・ D 1 名前 ・ 入社日   ・勤続年数(年) ・ 勤続年数(月)  2 太郎 ・ 2006/11/10 ・ 0 ・ 2 3 花子 ・ 2006/10/25 ・ 0 ・ 3 10 検索日 2006/12/25 DATEDIFでは、納得できなかったので、よい方法は、ありまあせんか? そのあとに、勤続年数が6ヶ月の人と3年の人を検索して一覧表で印刷したいのですが、方法は、ありますか?

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

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.1

切り上げでいいなら C2=DATEDIF(B2-1,$B$10,"y") D2=DATEDIF(B2-1,$B$10,"ym")+(DATEDIF(B2-1,$B$10,"md")>0) 後はこの2セルを下方にコピー

steppy2
質問者

お礼

ありがとうございました。無事に解決しました。

その他の回答 (3)

  • maron--5
  • ベストアンサー率36% (321/877)
回答No.4

◆参考になると思います

参考URL:
http://www.microsoft.com/japan/users/office_expert/200304/01.asp
  • nobu555
  • ベストアンサー率45% (158/345)
回答No.3

>勤続年数が6ヶ月の人と3年の人を検索して一覧表 に、回答します。 提案1. 6ヶ月の人と3年の人を別々に印刷でよければ、 データ-フィルタ-オートフィルタで出来ます。 提案2. 6ヶ月の人と3年の人を一緒に印刷したければ、 E列に○年△ヶ月を表示させられれば、 C2、D2の式は、#1から参照して E2=C2&"年"&D2&"ヶ月" で、後は提案1.と同じ要領(オートフィルタ)で出来ます。

  • ham_kamo
  • ベストアンサー率55% (659/1197)
回答No.2

勤続年数の算出に関してはNo.1の方が回答されているので、 「勤続年数が6ヶ月の人と3年の人を検索して一覧表で印刷」 の方に回答します。 これは、勤続年数が「0年6ヶ月」と「3年0ヶ月」の人を抽出して印刷、という解釈でいいですか?(違ったら補足をお願いします) 単純にやりたいのであれば、作業列としてE列を使い、 E2:=IF(OR(AND(C2=0,D2=6),AND(C2=3,D2=0)),1,0) として、オートフィルタでE列が1のものだけを表示させ、そのまま印刷するか、フィルタされたデータだけコピーして他のシートに貼り付けて印刷すればいいと思います。

steppy2
質問者

お礼

ありがとうございました。参考になりました。