- ベストアンサー
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年の人を検索して一覧表で印刷したいのですが、方法は、ありますか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
切り上げでいいなら C2=DATEDIF(B2-1,$B$10,"y") D2=DATEDIF(B2-1,$B$10,"ym")+(DATEDIF(B2-1,$B$10,"md")>0) 後はこの2セルを下方にコピー
その他の回答 (3)
- maron--5
- ベストアンサー率36% (321/877)
◆参考になると思います
- nobu555
- ベストアンサー率45% (158/345)
>勤続年数が6ヶ月の人と3年の人を検索して一覧表 に、回答します。 提案1. 6ヶ月の人と3年の人を別々に印刷でよければ、 データ-フィルタ-オートフィルタで出来ます。 提案2. 6ヶ月の人と3年の人を一緒に印刷したければ、 E列に○年△ヶ月を表示させられれば、 C2、D2の式は、#1から参照して E2=C2&"年"&D2&"ヶ月" で、後は提案1.と同じ要領(オートフィルタ)で出来ます。
- ham_kamo
- ベストアンサー率55% (659/1197)
勤続年数の算出に関しては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のものだけを表示させ、そのまま印刷するか、フィルタされたデータだけコピーして他のシートに貼り付けて印刷すればいいと思います。
お礼
ありがとうございました。参考になりました。
お礼
ありがとうございました。無事に解決しました。