• 締切済み

Excel n時間後の日時

A1に 2011/6/25 7:35 B1に 65:00 C1に 65時間後の日時 (但し、土日を除く)を表示したい  

みんなの回答

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.7

回答No6です。E1セルに入力する式は次の式に変更してください。 =IF(COLUMN(A1)=1,IF(OR(WEEKDAY($A1+COLUMN(A1)-1,2)>=6,COUNTIF(Sheet2!$A:$A,DATE(YEAR($A1),MONTH($A1),DAY($A1)+COLUMN(A1)-1))>0),"",IF(TIME(HOUR($A1),MINUTE($A1),0)+$B1<="24:00"*1,TIME(HOUR($A1),MINUTE($A1),0)+$B1,"24:00"-TIME(HOUR($A1),MINUTE($A1),0))),IF(COLUMN(A1)>1,IF(SUM($D1:D1)>=$B1,"OK",IF(OR(WEEKDAY($A1+COLUMN(A1)-1,2)>=6,COUNTIF(Sheet2!$A:$A,DATE(YEAR($A1),MONTH($A1),DAY($A1)+COLUMN(A1)-1))>0),"",IF(SUM($D1:D1)=$B1,"OK",MIN($B1-SUM($D1:D1),"24:00"))))))

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.6

かなり面倒な計算になりそうなので作業列を作って対応します。 初めに祝祭日などについてはシート2のA列に入力されているとします。 そこでシート1での作業列ですがD1セルは空白のセルとしてE1セルには次の式を入力して右横方向にオートフィルドラッグします。 =IF(COLUMN(A1)=1,IF(OR(WEEKDAY($A1+COLUMN(A1)-1,2)>=6,COUNTIF(Sheet2!$A:$A,DATE(YEAR($A1),MONTH($A1),DAY($A1)+COLUMN(A1)-1))>0),"","24:00"-TIME(HOUR($A1),MINUTE($A1),0)),IF(COLUMN(A1)>1,IF(SUM($D1:D1)=$B1,"OK",IF(OR(WEEKDAY($A1+COLUMN(A1)-1,2)>=6,COUNTIF(Sheet2!$A:$A,DATE(YEAR($A1),MONTH($A1),DAY($A1)+COLUMN(A1)-1))>0),"",IF(SUM($D1:D1)=$B1,"OK",MIN($B1-SUM($D1:D1),"24:00")))))) その後に答えとなるC1セルには次の式を入力します。 =DATE(YEAR(A1),MONTH(A1),DAY(A1)+MATCH("OK",E1:AX1,0)-2)+INDEX(E1:AX1,MATCH("OK",E1:AX1,0)-1) C1セルの表示形式は日付の中から日付と時間が表示される形式を選択します。

回答No.5

>C1に 65時間後の日時 (但し、土日を除く)を表示したい >祝祭日も除く という事で計算・・・ 1行目は見出し行と、E1~E4に祝祭日の日付をデータを入力 セルA2に 2011/6/25 7:35 セルB2に 65:00 セルC2に =WORKDAY(A2,1,$E$2:$E$4)+B2 の式を入れて完成・・・かな? 25日が土曜日なので、実質始まる日付は土日と祝祭日を外した日になるので、例で挙げた画像からすると一応月曜日も祭日としてますから6/28日火曜日の7:35からとなります そこから開始していくと65時間後は6/30日となります(日時のみ表示) こんな感じでいかがでしょう?

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.4

土日を除く65時間後の意味が良くわかりません。 例えば2011/6/22 7:35なら、そのまま65時間後は6/25(日曜日)になりますが、このような場合はどのような値を求めたいのでしょうか? 同様に、6/24の場合は6/27(月曜日)の0:35になります(これは問題ないですよね)。 また、6/25の場合、27日(月曜日)の0時を起点にするとのことですが、6/29(水曜日)の17:00になります。 このように全く時間的に整合性がないように思うのですが、土日を除く65時間後とは、いったいどのような日時を求めたいのでしょうか。 ご希望の操作を、目的を含めて、具体的にいくつかの例をあげて説明されたほうが、皆さんから的確な回答が寄せられるように思います。

noname#204879
noname#204879
回答No.3

[No.2補足]へのコメント、 土、日、祝日を考慮して開始日、終了日間の日数を返す関数として =NETWORKDAYS() があるので、それが使えないかと[ゴールシーク]機能を試行錯誤してみましたが、無理みたいです。 マクロを使えば難なく出来そうですが、残念ながら私はマクロ音痴なので、撤退せざるを得ません。

noname#204879
noname#204879
回答No.2

「土日を除く」ということは、貴方の期待する結果は 2011/6/29 17:00 ですか? つまり、2011/6/25 は土曜日なので、起点の 2011/6/25 7:35 は 2011/6/27 0:00 と同等なのかの確認を求めています。 ついでながら、祝祭日は除かないのですか?

gyouda1114
質問者

補足

>つまり、2011/6/25 は土曜日なので、起点の 2011/6/25 7:35 は >2011/6/27 0:00 と同等なのかの確認 説明不足で申し訳ありません。 2011/6/27の0:00から65時間後の日時です。 >祝祭日は除かないのですか? 祝祭日のことは考えていませんでした。 祝祭日も除く方法を教えてください。

  • fifty3_b
  • ベストアンサー率0% (0/0)
回答No.1

=IF(OR(WEEKDAY(A1+B1)=1,WEEKDAY(A1+B1)=7),"",A1+B1) 結果が表示されたら、表示形式を設定。

関連するQ&A