• ベストアンサー

Excelによる土日と祝祭日の算出関数

役所でExcelを人並みに使っていると思いますが,最近になって色々と関数を駆使しようと思いついたのが,Excelによる土日と祝祭日の算出関数です。色々と試みてみたのですが,全く×です。セルに対してどのようにすればいいのかヨロシクご教授ください。

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

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

>Excelによる土日と祝祭日の算出関数です 質問の意味が2つに取れる(算出?) (1)ある日を考えて土か日か祝日か判定する場合    =WEEKDAY("2004/12/15")か=WEEKDAY(A1)のように   聞いて    土  7    日  1   かどうかで判る。コードの表現種類に他2種類ありま  す。   祝日は各国固有で日本は年により移動するので、関数   がなく、関数では判定できない。ユーザー関数を作る   よりほかない。万年向けのものは難しそう。 (2)ある期間を考えて、土日祝日を除いて、それ以外が   何日あるかを算出する関数    NETWORKDAYS関数があります。    NET(正味の)のWORKDAYの意味でNET   WORKのDAYではない。最後のSを落とさない   ように。   ただし祝祭日は関数内に手入力で指定する。   例えば=NETWORKDAYS("2004/12/15","2004/12/25",{"2004/12/23"})で7と出ました。 土日と祝祭日と重なっていてもOK。 「アドイン」関数なので、エラーが出る場合は組みこむ必要があります。 あとWORKDAY、DATEDIFを使えれば、日付関係はほぼ全てでしょう。      

endo5412
質問者

お礼

素早く対応していただきありがとうございます。貴重なアドバイス大変役立ちました!!さっそく仕事に生かしております。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (4)

  • OMP
  • ベストアンサー率23% (132/553)
回答No.4

算出した結果をどうするか不明なので勝手に考えました。 残念ながら祝日には対応してません。 A1のセルに入っている日付が土または日の場合 "1"を表示させる関数です。 =IF(WEEKDAY(A1)=7,1,IF(WEEKDAY(A1)=1,1,0)) WEEKDAY(A1)は、土曜なら7、日曜なら1を返します。 それをIF文にはめただけです。

全文を見る
すると、全ての回答が全文表示されます。
  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.3
全文を見る
すると、全ての回答が全文表示されます。
  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.2

こちらあたりを参考にされては? http://www.atmarkit.co.jp/fwin2k/win2ktips/383workday/workday.html

全文を見る
すると、全ての回答が全文表示されます。
回答No.1

土日に限らず、曜日を判定するのは weekday(日付)です。 祝日は判定できないので、別途テーブルを用意するのがいいでしょう。 もしくは、1月、9月第3月曜とか、10月第2月曜とかで判断するしかないですね。 この場合もweekday()で判定できます。 使い方の質問じゃなくて、関数だけだよね。 使い方はHELPで確認してください

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Excel(関数):休日を含めず、日付をカウントし、納期を算出するには

    Excel(関数):休日を含めず、日付をカウントし、納期を算出するには 発注日から、5日後が納期となるよう、Excelで自動計算させたいのですが、 休日を含めずに日付をカウントさせる方法をぜひご教授下さいますようお願いいたします。 例) 発注日:2010/9/10 ↓土日(9/11、9/12は含まない) 納期:2010/9/16 上記の結果を自動で計算をさせるにはどのようにしたら良いのでしょうか。 休日は土日だけでなく、お盆休み等も考慮するために、 NETWORKDAYS関数を使えないか考えていますが、どのように式をネストさせたら良いか困っています。 何卒アドバイスを下さいますよう宜しくお願いいたします。

  • エクセルの関数?で教えて下さい

    こんにちは いつもありがとうございます さて、また教えて頂きたいのですが宜しくお願いします エクセルの関数でできると思うのですが分かりません 内容は今日から何日後の日付は何月何日と表示させたいのですが・・・ ただし、条件があって、平日のみで何日後(土日や祝祭日を除く何日後って意味です) このような計算ができるかどうかも分からないのですが、方法があれば教えて下さい お願いします

  • エクセルの関数を教えて下さい。

    エクセルの関数を教えて下さい。 B2のセルに入っている日付が月曜日~金金曜日である場合で、B3に「○」と記入されていれば、B4は「○」。B3が空欄ならば、B4は空欄。 多分IF関数になると思うのですが、曜日の判定がわかりません。 ※祝祭日は考えていません。 よろしくお願いいたします。

  • エクセル 平均値の算出方法(応用編)

    いつもお世話になっています。 よろしくお願い致します。<(_ _)> 通常、エクセルでの平均値は (一例) =AVERAGE(A1:A100) で、算出しますが、 上記セルの数字を、別のセルに数字を入力することによって 柔軟的に平均値を算出したいのです。 具体的には、(どこでも構わないのですが)  「H1」のセルに「200 」と 入力すると、上記関数が =AVERAGE(A1:A200) となるようにしたいのです。 そもそも、関数でこのようなことは出きるのでしょうか? ご教授いただけると助かります。 よろしくお願い致します。

  • エクセル 月の最終日を算出

    エクセルで 入力した年月の最終日を算出するにはどうしたらよいでしょうか。 関数を調べてみましたが、それらしきものが見当たりません。 関数初心者ですのでご教授をよろしくお願いします。 ex. 2006年12月の時「31」、2007年2月の時「28」・・・   A1セルに年「18」入力(和暦で入力したいです)   B1セルに月「12」入力    でC1セルに「31」を表示。

  • エクセル関数(関数での算出データに関数を反映させる方法)

    顧客管理業務に活用する、エクセル関数の活用方法について質問です。 セルA1に『過去の施術日(1)』 セルB1に『過去の施術日(2)』 セルC1に『過去の施術日(3)』 セルD1に『過去の施術日(4)』 セルE1に『最終施術日(関数で算出)』 セルF1に『適性施術頻度』 セルG1に『次回予定』 過去の施術日(1)~(4)には日付が記載されております。 そのデータを基に、E1『最終施術日』の値を関数で算出。 ちなみに最終施術日の数式は、以下となります。 =IF(COUNTA(A1:D1)>0,TEXT(MAX(A1:D1),"yyyy/m/d"),"施術履歴無") ------------------------------------------------------------------ さて、問題に直面しているのは、ここからなのです。 セルE1の『最終施術日』の値から、本日までの日数が セルF1の『適性施術頻度』を超えた場合は、 セルG1の『施術予定』に“施術” 超えていない場合は、“無し” 空欄の場合は、“毎回確認” と表示させたいのです。 ちなみに、セルE1の『最終施術日(関数で算出)』を 関数を使用せず、通常のデータを入力していた時は、 以下の数式で機能しておりました。 =IF(COUNT(F1)=0,"毎回確認",IF(MAX(E1)<TODAY()-F1,"施術","無し")) しつこいようですが、セルE1の『最終施術日(関数で算出)』を 関数を使用してから、機能しなくなってしまいました。 データ例 A1       B1       C1       D1         E1                         F1    G1 2009/5/1   2009/6/15  2009/6/30  2009/9/8    最終施術日(2009/9/8 ※関数で算出)  30  次回予定 2009/5/28  2009/6/30                    最終施術日(2009/6/30 ※関数で算出)  45  次回予定 以上、複雑な質問となり、簡単には解けないかもしれませんが 分かる方は、是非教えてくださいませ。宜しくお願い致します。

  • IF関数を使って値を算出したい

    あるエクセルの列(セル)に、1~360の数値が入っています。 これをIF関数を使って(別のセルで)以下ルールで数字を変換したいのですが、 できますでしょうか。 (2種類を検討したい) ■1つ目 1~30・・・・1 31~60・・・2 61~90・・・3 91~120・・4 121~150・・5 151~180・・6 181~210・・7 211~240・・8 241~270・・9 271~300・・10 301~330・・・11 331以上~・・・12 ■2つ目 1~30・・・・1 31~60・・・2 61~90・・・3 91~120・・4 121~150・・5 151~180・・6 181~210・・7 211~240・・8 241~270・・9 271~300・・10 301~330・・・11 331~360・・・12 361以上~・・・13 ※IF関数にはこだわらないです(xls内で算出)。

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

    エクセルの関数について、ご質問させて下さい。同じ文字をかえして、別のシートに同様の数字を反映したいのですが、どの関数を使って算出したらよいのか悩んでおります。 エクセルシートに リンゴ 111111111111111 1111111111111111 11111111111111111 とあります。リンゴの出荷を1で表しています。(横軸は時間となります) 上記 を 別のエクセルシートの リンゴ (出荷のトラック別にしている為、違ったセル番号) に リンゴの条件を算出してその下に 同様の 111111111111111 1111111111111111 11111111111111111 を自動で、反映する為には、どのとうな関数の公式を組めばよろしいでしょうか。 お力をお貸しください。

  • EXCELの関数について

    いつも大変お世話になっております。 今回はEXCELの関数についてご存知の方いらっしゃいましたら、ご教授頂けたらと思います。 添付の画像を見て頂けたらと思いますが、 A列に計算の元となる数字を入力し、 2行目に計算したい計算式を入れると、 その結果を自動的に算出するようにしたいのですが、 緑色のセル(B3~D5)を再現してくれる関数はあるでしょうか? 仕様:Excel2013 どうぞよろしくお願い致します。

  • 時間数の算出

    エクセル関数について教えてください。 22:00から翌日5:00の時間数を関数をいれ、自動算出出来るようにしたいのですが、 セルA1に22:00 セルB1に5:00 セルC1に時間数を出したいときに単純にB1-A1にすると算出できません。 セルB1に29:00と入力すれば計算できることは知っていますが...。 5:00と入力するだけで計算することは出来るのでしょうか? 関数をおしえていただけないでしょうか

このQ&Aのポイント
  • 印刷物をプリンターからスキャンしてWiFiでパソコンに飛ばしたが、そのデータがパソコン上で探せない
  • パソコンから印刷したものはWiFiでプリンターから問題なく出せる状況
  • Windows10を使用しており、無線LANで接続している
回答を見る

専門家に質問してみよう