• ベストアンサー

【関数】開始日と完了日の両方が入力されたら。

開始日と完了日の両方が入力されたら、稼働日数を計算する関数がうまくいきません。 例)開始日・・・A1   完了日・・・B1 A1とB1の両方に入力されたら、「=NETWORKDAYS(A1,B1,祭日)」の計算をしたいのですが、どうしたら、良いでしょうか。 「IF」と「NETWORKDAYS」の両方は使えないですよね。。 また、A1とB1の両方が入力されなければ、「何もしない(空白のまま)」が良いのです。 よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • dogs_cats
  • ベストアンサー率38% (278/717)
回答No.2

下記のような数式で可能ですが、ifとNETWORKDAYSが一緒に使用出来ないと思われた理由がわかりませんが。 =IF(COUNT(A1:B1)=2,NETWORKDAYS(A1,B1,$A$3:$A$25),"") 又は =IF(or(A1="",B1=""),"",NETWORKDAYS(A1,B1,$A$3:$A$25)) $A$3:$A$25は祝日や貴社の指定休日記載セル範囲又は名前の定義の名称を指定

mirinmirinmirin
質問者

お礼

=IF(or(A1="",B1=""),"",NETWORKDAYS(A1,B1,$A$3:$A$25)) ↑↑↑ こちらであれば、うまくできました! ありがとうございました! とても助かりました。

その他の回答 (2)

  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.3

>「IF」と「NETWORKDAYS」の両方は使えないですよね。。 1つの数式に複数の関数を組み合わせることができます。 IF関数は条件分岐するための関数なので他の関数と組み合わせて使います。 >また、A1とB1の両方が入力されなければ、「何もしない(空白のまま)」が良いのです。 NETWORKDAYS関数は祭日リストを指定することで土、日、祭日を除く実働日数を算出するものです。 =IF(AND(COUNT(A1:B1)=2,A1<=B1),NETWORKDAYS(A1,B1,F1:F17),"") この数式ではF1:F17に2016年の祭日を列記しています。 また、当日開始で当日完了の場合は稼働日数が1日になります。 開始日>完了日のときは負数になるので計算しないようにしています。

回答No.1

IFで両方入力されたかどうか、判断はできますか? できるのであれば、両方入力されたときに実行する命令で稼働日を求めればいいかと思います。

mirinmirinmirin
質問者

補足

単純に「完了日-開始日」ではなく、祭日も除くとしたいので、IFだけで、どうもうまくいかないのです。。。

関連するQ&A