質問: 2011/08/22(月) どうしても不可能であれば別セル(c1など)でも構いません。
回答: =if(day(a1)<25,date(year(a1),month(a1)+1,0)-if(weekday(date(year(a1),month(a1)+1,0),2)>5,weekday(date(year(a1),month(a1)+1,0),2)-5),date(year(a1),month(a1)+1,20)+if(weekday(date(year(a1),month(a1)+1,20),2)>5,8-weekday(date(year(a1),month(a1)+1,20),2),0)) 1つのセルで計算しようとすると、こんな感じですかね。 ただ、長すぎて、他の人がメンテナンスするときに困りそうですね。 作業セル(隠しセル)を使ったほうが、解りやすいかもしれませんね。 c1で、休日を無視した日付を計算して、 =if(day(a1)<25,date(year(a1),month(a1)+1,0),date(year(a1),month(a1)+1,20)) b1に、休日の条件も踏まえた日付を表示するとか。 =if(weekday(c1,2)<=5,c1,if(day(a1)<25,c1-(weekday(c1,2)-5),c1+(8-weekday(c1,2)))) そうすれば、セルの数は増えますが、入力する式の長さは半分くらいに減ります。その上、他の人にも(あなた自身にも)解りやすくメンテナンスしやすいと思います。 c1は別のセルでも良いです。 目に付かないセルにするなり、文字を白くするなりしても良いでしょう。