• 締切済み

Excelの関数を教えてください。

下記のようなことができる関数式があれば教えてください。 Excelカレンダーは作成済みで祝日リストで色づけも終わっています。 月曜日と金曜日に、それぞれ週1でやる業務があります。 月曜日にA. 金曜日にBが自動で入るがそれぞれの曜日が祝日だったら空白にするまではできたんです。 知りたいのは、『基本月曜日にAをいれるけど“月曜日が祝日だったら週明けに”A』と入れたいんです。 ちなみに今は =IF(COUNTIF(祝日リスト.$A3)=1,"",IF($B3=2,業務A,IF(B3=6,業務B,""))) とif式を重ねています。(B列にはWEEKDAY関数を適用してありますので、2が月曜日、6が金曜日のため上記の式になります)

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

「週明け」とは、「休み明け」の意味でしょう。週明けは月曜日限定では? ーー 祝日は人間がテーブル化する必要があり、計算やロジック(ルール)では決められません。年により変わるので、見直しが必要だし(特に振替休日など)、本件では、年末になると、来(次)年分休日データも必要でしょう。そういう点で、毎年見直しを忘れないようにする必要がありそうです。勤務先会社の会社特定の休業日も考慮が必要かも。 臨時(災害など)の事態も対応ができるようにする必要があるかも。 ーー そういう点で何連休までを対象にしたらよいか不定です。 === あれやこれやで、エクセルの関数で、IF関数のネスト(エクセル関数では個数が固定してしまうと思う)になると思うが、それでは難しいのではないか(限度不定、式が長くなる点などで)。 === 質問者は、VBAの経験はないのだろうが、VBAでは、繰り返し(休日連続判定)処理に、少し自由が利くプログラムを組める、のでそれで記述して、関数化(ユーザー定義の関数)するしかないのでは、と思った次第です。

  • HohoPapa
  • ベストアンサー率65% (455/693)
回答No.2

添付画像を例にすれば 7行目までは、 C3=IF(OR(COUNTIF(祝日リスト,A3)=1,B3=7,B3=1),"",IF(B3=2,"業務A",IF(B3=6,"業務B",""))) 8行目からは C8=IF(OR(COUNTIF(祝日リスト,A8)=1,B8=7,B8=1),"", IF(AND(B8=2,C1=""),"業務""A",IF(B8=2,"業務A",IF(B8=6,"業務B","")))) といった関数はいかがでしょうか。

  • Chiquilin
  • ベストアンサー率30% (94/306)
回答No.1

まずどんなカレンダーなのか説明がないので分かりません。 Excelのバージョンも不明です。 「祝日だったら週明けに」の「週明け」が数式を入力したセルと どう関連するのか これも説明がないので分かりません。