
有給休暇管理表を作っている最中です。
前年度と今年度それぞれの付与日数を、入社日から6ヶ月後から起算し、関数で計算させたいのですが、上手くいきません。
別シートで、社員・パート関係なく週の所定労働日数と、週の所定労働時間が入った表を作っています。その情報から、判別用セルで一般社員ならA、パートタイマー(比例付与)ならBと判別させ、それぞれの勤続日数と、パートなら1年間の所定労働日数(都度手入力する予定)に応じて有給休暇の付与日数を計算させたいと思っています。
現状、今年度付与日数のセルに、下記のようなIF関数のネストで関数を入れてますが、FALSEと表示されてしまいます。1年間の所定労働日数を入れるとFALSEと出ます。
本来であれば、3と表示されるべきところなのですが…どこがどう間違っているのか分かりません。
そもそも有給付与日数を一般・パート合わせて関数で計算させること自体に無理があるのでしょうか。
ご教示願います。
よろしくお願い致します。
Excelのver.は2010です。
※今年度付与日数※ 前年度は【経過日数】から「-12」しています。
=IF(【一般orパート判別用セル】="A",IF(【経過日数】<6,0,IF(【経過日数】<18,10,IF(【経過日数】<30,11,IF(【経過日数】<42,12,IF(【経過日数】<54,14,IF(【経過日数】<66,16,IF(【経過日数】<78,18,IF(【経過日数】<90,20,20)))))))),IF(【所定労働日数(年)】="",0,IF(OR(【所定労働管理シート!週の所定労働日数】=1,【所定労働管理シート!週の所定労働時間】>=30),IF(AND(【所定労働日数(年)】>=48,【所定労働日数(年)】<=72),IF(【経過日数】<6,0,IF(【経過日数】<18,1,IF(【経過日数】<30,2,IF(【経過日数】<42,2,IF(【経過日数】<54,2,IF(【経過日数】<66,3,IF(【経過日数】<78,3,IF(【経過日数】<90,3,3))))))))),IF(OR(【所定労働管理シート!週の所定労働日数】=2,【所定労働管理シート!週の所定労働時間】>=30),IF(AND(【所定労働日数(年)】>=73,【所定労働日数(年)】<=120),IF(【経過日数】<6,0,IF(【経過日数】<18,3,IF(【経過日数】<30,4,IF(【経過日数】<42,4,IF(【経過日数】<54,5,IF(【経過日数】<66,6,IF(【経過日数】<78,6,IF(【経過日数】<90,7,7))))))))),IF(OR(【所定労働管理シート!週の所定労働日数】=3,【所定労働管理シート!週の所定労働時間>=30),IF(AND(【所定労働日数(年)】>=121,【所定労働日数(年)】<=168),IF(【経過日数】<6,0,IF(【経過日数】<18,5,IF(【経過日数】<30,6,IF(【経過日数】<42,6,IF(【経過日数】<54,8,IF(【経過日数】<66,9,IF(【経過日数】<78,10,IF(【経過日数】<90,11,11))))))))),IF(OR(【所定労働管理シート!週の所定労働日数】=4,【所定労働管理シート!週の所定労働時間>=30),IF(AND(【所定労働日数(年)】>=169,【所定労働日数(年)】<=216),IF(【経過日数】<6,0,IF(【経過日数】<18,7,IF(【経過日数】<30,8,IF(【経過日数】<42,9,IF(【経過日数】<54,10,IF(【経過日数】<66,12,IF(【経過日数】<78,13,IF(【経過日数】<90,15,15))))))))),0))))))

No.1ベストアンサー
- 回答日時:
有給休暇は勤続月数(或いはそれを年数表示した勤続年数)により、
付与日数が決定されます。
先ずは、以下のような有給休暇日数表を作りましょう。
勤続年数は小→大の順に並べます。
勤続月数(年数)、一般社員の有給休暇日数、定時社員の有給休暇日数
有給休暇を求める関数は次になります。
VLOOKUP(勤続月数、有給休暇日数表、(区別=一般社員)*2+(区別=定時社員)*3)
「区別」とは、「一般社員」か「定時社員」かが記入されたセルを指します。
「一般社員」の場合は、有給休暇日数表の2列目から選択されます。
IF関数の多重構造は、作るにも見直すにも間違い誘発の元なので、
できるだけ使わない方が良いです。
IF文のなかに条件値そのものを記載すると、条件変更の対応もまた大変です。
IF文は、多重構造利用は避けるべきです。
一番分かりやすく、丁寧にご説明下さり、ありがとうございました。
エクセル初心者ですが、お蔭様で正しく計算されるようになりました。
ベストアンサーとさせて頂きます。
ありがとうございました。
No.4
- 回答日時:
>社員・パート関係なく週の所定労働日数と・・・
>有給休暇の付与日数を計算させたい
一例です。
セルD2に =VLOOKUP(C2,F:G,2,1) の式を入れて下方向へ式をコピー。
添付画像を参照して下さい。
いろいろ突っ込みどころありますが、あなたの数式を見た途端 _ノフ○)))グタリ です。

No.2
- 回答日時:
基本的に・・自分で、間違っているかどうか判断できない関数作ってどうするの?ネスト深すぎ(笑)
プログラムのセンスが無さすぎますけど?
やりたいことが出来るために必要なデータを整理し、それらを使用して目的のものを求めるといった段階を踏んだワークシートを作成します。
結果的に本当に欲しいデータを得るためには印刷しない裏の部分も作成すべきです。
そうすることで論理的にわかりやすい構造のワークシートが出来上がります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 労働相談 有給計算について 回答お願いします。 建設業経営です。休日は日曜のみ 従業員の有給計算について 雇い 2 2023/03/26 06:12
- 労働相談 有給休暇について教えて下さい。 1 2022/05/01 16:44
- その他(教育・科学・学問) エクセル関数について 2 2022/12/23 08:59
- Excel(エクセル) VBAで “:” を含むセルの特定 2 2023/05/11 16:30
- その他(法律) 有給金額の計算について 5 2023/06/23 17:44
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Excel(エクセル) 出退勤管理の早退時間について 4 2023/08/21 15:22
- Visual Basic(VBA) VBAの繰り返し処理について教えてください。 3 2022/08/02 13:21
- 労働相談 労働契約書を作成したいです ・1日の所定労働時間、7時間40分 ・年間所定労働日、262日 ・週、5 4 2022/09/20 08:39
- Excel(エクセル) ExcelのIF関数について 4 2023/05/24 12:54
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
130時間以上 正社員?? パート...
-
計算式教えて下さい 1日の所定...
-
労働時間とは休憩時間も含みま...
-
バイトで3ヶ月120時間以上働くと…
-
試用期間中の従業員の健康診断
-
パートの社会保険加入について
-
1年のうち 4ヶ月は 88000円を超...
-
歯医者さんでパートで勤務して...
-
社会保険の任意継続か国民健康...
-
一日だけ国保に入る。一月分の...
-
日本生命を退社するには月中で...
-
大学で任意の課題が2つでたので...
-
65歳以上の介護保険料(被扶養...
-
月の途中で退職し、次の会社に...
-
社会保険から国民健康保険の切...
-
社会保険に入ってるのに国保の...
-
国民健康保険と雇用保険という...
-
永続と持続と持久と継続の違い...
-
現在、傷病手当を受給していま...
-
「喪失」と「消失」の違い
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
計算式教えて下さい 1日の所定...
-
バイトで3ヶ月120時間以上働くと…
-
パートの社会保険加入について
-
試用期間中の従業員の健康診断
-
労働時間とは休憩時間も含みま...
-
130時間以上 正社員?? パート...
-
1年のうち 4ヶ月は 88000円を超...
-
以下、社会保険加入対象の条件...
-
健康保険証 社員からパート
-
社会保険は、お仕事を週何十時...
-
短時間労働者と短時間就労者の...
-
社会保険の加入条件 2月だけ労...
-
月収88000円超えたら社会保険に...
-
社会保険加入は正社員の就業2...
-
社会保険
-
時給1100円、月平均労働時間173...
-
3ヶ月8.8万円を越してしまった...
-
労働時間に詳しい方!社会保険 ...
-
IF関数のネストについて教えて...
-
兼業農家の従業員に健康保険、...
おすすめ情報