• ベストアンサー

Excel2010 平日を取得する関数について

カテゴリーを知らなくてWindows7に質問したので変更しました。 平日の日数を取得する関数は、NETWORKDAYSで取得できますが、開始日と終了日を入力しなければならず、月毎に変わる日数の開始日と終了日を関数式に入力できないので、年月を表示しているのでそれを利用してできる方法はないでしょうか。 また、土日祝日の日数を取得する関数があれば教えてください。

noname#194986
noname#194986

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

  • ベストアンサー
  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.1

>年月を表示しているのでそれを利用して  どのセルにどの様な形で表示されてるのか説明が無い様ですので、今仮に、2012年の11月を表す場合に、 A1セルに    2012 B1セルに    年 C1セルに    11 D1セルに    月 と入力されるものとします。  又、祝日の一覧がE列に入力されているものとします。 【指定した月の16日から翌月の15日までの平日の日数を取得する関数】 =NETWORKDAYS(DATE(A1,C1,16),DATE(A1,C1+1,15),$E:$E) 【指定した月の16日から翌月の15日までの土日祝日の日数を取得する関数】 =DATE(A1,C1+1,15)-DATE(A1,C1,16)+1-NETWORKDAYS(DATE(A1,C1,16),DATE(A1,C1+1,15),$E:$E) 【指定した月の1日から末日までの平日の日数を取得する関数】 =NETWORKDAYS(DATE(A1,C1,1),DATE(A1,C1+1,),$E:$E) 【指定した月の1日から末日までの土日祝日の日数を取得する関数】 =DATE(A1,C1+1,)-DATE(A1,C1,1)+1-NETWORKDAYS(DATE(A1,C1,1),DATE(A1,C1+1,),$E:$E)  或いは別パターンとして、今仮に、2012年の11月を表す場合に、A1セルに 2012年11月 と入力される(セルを選択すると数式バーには「2012/11/1」と表示される) と入力され、祝日の一覧がE列に入力されているものとします。 【指定した月の16日から翌月の15日までの平日の日数を取得する関数】 =NETWORKDAYS(DATE(YEAR(A1),MONTH(A1),16),DATE(YEAR(A1),MONTH(A1)+1,15),$E:$E) 【指定した月の16日から翌月の15日までの土日祝日の日数を取得する関数】 =DATE(YEAR(A1),MONTH(A1)+1,15)-DATE(YEAR(A1),MONTH(A1),16)+1-NETWORKDAYS(DATE(YEAR(A1),MONTH(A1),16),DATE(YEAR(A1),MONTH(A1)+1,15),$E:$E) 【指定した月の1日から末日までの平日の日数を取得する関数】 =NETWORKDAYS(DATE(YEAR(A1),MONTH(A1),1),DATE(YEAR(A1),MONTH(A1)+1,),$E:$E) 【指定した月の1日から末日までの土日祝日の日数を取得する関数】 =DATE(YEAR(A1),MONTH(A1)+1,)-DATE(YEAR(A1),MONTH(A1),1)+1-NETWORKDAYS(DATE(YEAR(A1),MONTH(A1),1),DATE(YEAR(A1),MONTH(A1)+1,),$E:$E)

noname#194986
質問者

お礼

テキスト文のみで分かりづらい中、早速丁寧な回答ありがとうございます。 下記の例を参考に確認して”バッチリ”でした。 >【指定した月の16日から翌月の15日までの土日祝日の日数を取得する関数】 =DATE(A1,C1+1,15)-DATE(A1,C1,16)+1-NETWORKDAYS(DATE(A1,C1,16),DATE(A1,C1+1,15),$E:$E) 「$E:$E」の所は別シートに10年分の祝日を作成してあったのでそれを選択しました。沢山の例を記述して戴き永久保存します。ありがとうございました。

関連するQ&A

  • エクセル2000 の関数について

    お世話になります。 NETWORKDAYS関数を使って、土日・祝日を除く日数をカウントするのは、過去の質問から分かったのですが、 その他の条件として、土曜出勤の日が含まれている場合には、 プラスして計算したい場合は、どうすればよろしいでしょうか? エクセル2000のバージョンを使っています。 A列に開始日  B列に終了日  C列に日数 ※E列の日付が含まれていたら除く ※F列の日付が含まれていたら1日プラスする。  A列      B列      C列     E列      F列 1 開始日    終了日    日数    祝日      土曜出勤日 2 2006/08/01  2006/08/11  **     2006/07/17   2006/07/22 3 2006/08/11  2006/08/18  **     2006/08/14   2006/08/19 4 2006/08/14  2006/08/25  **     2006/08/15 5 2006/08/17  2006/08/25  **     2006/09/18 よろしくお願いします。

  • Access2000で月の日数を取得したいのですが。。。

    単純に、月の日数を取得したいです。 開始日とか終了日とかなしに、 例えば01/07と入力すれば、その年月の日数が表示されるようにしたいと思っています。 やり方を教えて下さい。

  • エクセルで作業期間の日数を計算したい

    エクセルについて質問です。 セルA1に開始日(例:2012/2/20) セルC1に終了日(例:2012/5/12)を入力し、この期間の日数(○○日間)を 計算する方法を教えて下さい。 更にこの期間で、「土日祝日を除いた日数(平日のみの日数)」と 「日曜祝日を除いた日数(平日+祝日でない土曜日の日数)」を算出する方法も教えて下さい。 ちなみに作業日数を計算するのに、DAYS360関数を使ってみましたが、 1年を360日として計算するので、正確な日数になりません。 また、曜日や休日が絡むとどんな関数を使えば良いのか全くわかりません。 よろしくお願いいたします。

  • エクセル 平日の日数

    エクセルで、年月を入力するだけで その入力された月の平日の日数(土日・祝日を除いた日数)が 自動に入力される方法ってありますか? つまりA2に『平成21年1月』と入力すると    A3に『20』と出てくる と、いう感じ。 さらに、年と月を違うセルに入力(年は年度もあり)した時はどうでしょうか? つまりA1に『平成20年度』    A2に『1月』    と入力すると    A3に『20』と出てくる。 と、いう感じです。 もしおわかりの方がいらっしゃいましたらぜひ教えてください。

  • Excelで日付時刻の差分から土日祝日を引くには

    初めて質問します。 よろしくお願いします。 2つの日付時刻の差分から土日祝日を引いた、経過日数と時刻を出したいのですが、 どうすればよいでしょうか。 例えば、 A1 : 2011/4/28 18:00 B1 : 2011/5/06 9:30 の差分から土日祝日を引いた経過日数と時刻を「2日 13:00」の様に表示したいです。 NETWORKDAYS()関数で土日祝日を差し引いた経過日数はでるのですが、時刻の方をどう 出したらよいのか分かりません。 Excel関数では出来ないのでしょうか。ExcelVBAでやるしかないのでしょうか?

  • 平日と土日祝を区別して売上実績を出したい。

    平日と土日祝を区別して売上実績を出したい。 説明しやすいように画像を添付します。 4/7~4/21は画像が大きくなるため見えなくしていますが、1ヶ月の日別の売上金額一覧です。 毎月末日まで売上を入力し終わってからで良いのですが、「土・日・祝」の1日平均と平日の1日平均の金額をそれぞれ関数を使って自動で出したいのです。 手動で行なえば、添付画像のような計算式になりますが、月によって平日の日数と土日の日数が違いますし、祝日まで混じってくるとなるとどうしたら良いのか知恵が沸きません。 関数が複雑になるようでしたら、平日の合計金額と土日祝の合計金額でも良いのですが・・・ どうかお願いいたします。

  • エクセルの関数について教えてください。

    Excel2003で質問です。 以前、NETWORKDAYSという関数で、稼動日の計算をしていました。 そのファイルを今日久々にみたところ、数値がエラー(#NAME)になっていたのですが・・何故でしょう。 ちなみに計算式は =NETWORKDAYS(開始日,終了日,祝祭日のリスト) です。 修正しようと、関数を全て表示にしたところ「NETWORKDAYS」の関数が見当たらないのですが・・仕事で使っているので困っています。 わかるかた教えてください。

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

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

  • 関数を教えて下さい

    Microsoft Office Excel 97-2003 を使用しています。 (1) 期間の開始日から終了日までを求めたいのですが,開始日が含まれないため 1日少なく結果が出てしまいます。 式に +1 とすればよいのですが,きちんと式に組みこまれたような関数はないでしょうか。 (2) また,開始日や終了日が空白でも,日数が入ってしまい, 開始日や終了日が空白の場合は空白にしたいです。

  • ACCESSには NETWORKDAYS関数はない??

    MS ACCESS には Datediff関数はありますが、エクセルのNETWORKDAYS関数またはそれに代わる方法はないでしょうか。 ある依頼の受付から回答するまでの日をもとめたいのですが、単純な引き算ではなく、土日や祝祭日を除いた日数(営業日)が必要です。 エクセルでは、受付日と回答日をNETWORKDAYS関数で処理すると何営業日かを知ることができます。 残念ながらACCESSでこれを実現するすべをしりません。 どなたかご存知の方がいらっしゃいましたら、どうか助けてください。

専門家に質問してみよう