• ベストアンサー

エクセルの日付関数について

特定の二つの日時の間で、何日と何時間差が有るかを土日を除いて、出力したいのですが、方法が解りません。(2011/6/17 11:45と2011/6/21 21:50だと、1:10:05と出力させたい) text関数だと{=TEXT(O3-O2,"d:h:mm")土日が含まれてしまうし、 NETWORKDAYS関数では{=NETWORKDAYS(O2,O3)}日にちを24Hとして扱うことが出来ません。 関数を二つ使うなど、やり方を知っている方がおりましたら是非教えてください。

noname#158268
noname#158268

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

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

回答No2です。次の式に訂正してください。 =TEXT(NETWORKDAYS(O2,O3)-IF(WEEKDAY(O3,2)<6,("24:00"-TIME(HOUR(O3),MINUTE(O3),0)),0)-IF(WEEKDAY(O2,2)<6,TIME(HOUR(O2),MINUTE(O2),0),0),"d:h:mm")

noname#158268
質問者

お礼

素早い対応ありがとうございました。 随分複雑な式なのですね、ちょっとネットで調べたぐらいでは到底でない訳ですね。 大変助かります。本当にありがとうございました。

その他の回答 (2)

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

答えは2日と10時間5分が正しいと思いますね。 式は次のようにすればよいでしょう。 =TEXT(NETWORKDAYS(O2,O3)-("24:00"-TIME(HOUR(O3),MINUTE(O3),0))-TIME(HOUR(O2),MINUTE(O2),0),"d:h:mm")

  • askaaska
  • ベストアンサー率35% (1455/4149)
回答No.1

一般的には 営業日カレンダーを作成し そのセルの位置差で日数を出します。 (休日は団体によって異なるため)

関連するQ&A

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

    エクセルの関数について教えてください。 給与の関係で勤怠表をエクセルで作成しています。 =IF(G7<=6,TEXT((G7&H7&I7)+"24:00","[h]:mm"),TEXT(G7&H7&I7,"[h]:mm"))) ※G7・・・終業時間の”時”  H7・・・”:”  I7・・・終業時間の”分” 上記の関数を組むことによって終業時間を24:00と入力すればそのままの時間で表示できるようになりました。(こちらのサイトにて教えていただきました) ただ、この関数にFLOOR関数(でなくても良いのですが)等で求めた計が0より微妙に小さくなるのを解消したいのですが、どう組めばよろしいですが? ネット等で調べたり、上記の関数に&を付けて組もうとしましたが、上手くできませんでした。 どんな些細なことでも構いませんのでよろしく御願いします

  • エクセル2002 関数

    以前日付と時間の計算で、"2012/11/28 12:55”の形で入力したセル同士の計算で、 ”=TEXT(NETWORKDAYS(J2351,J2352)-IF(WEEKDAY(J2352,2)<6,("24:00"-TIME(HOUR(J2352),MINUTE(J2352),0)),0)-IF(WEEKDAY(J2351,2)<6,TIME(HOUR(J2351),MINUTE(J2351),0),0),"d:h:mm")”の式を教えていただいたのですが、 パソコンがクラッシュしてしまい、新しいパソコンでは、”#NAME?"と、エラーメッセージが出てきてしまいます。 アドインを入れれば良いそうですが良く解りません。お手数ですが噛み砕いてお教えください。 よろしくお願いします。

  • エクセル関数教えてください

    以前このサイトで2106年まで祝日表示できる万年カレンダー作りでいろいろ質問させていただきました。また質問させてください。 今度は次の関数式を教えていただきたいのです。 (1)**/**の3営業日後 (2)**/**の3営業日前 (3)**/**~**/**の間で営業日は何日? (4)毎週が月曜日が会議で、月曜日に「会議」表示、月曜日休日のときは火曜日に表示 A列に西暦入り日付 B列に曜日 C列に祝日表示 D列に「営業日」→1、「休日」→0、大型連休前後の特別休暇になりそうな平日を「未定」→9のコード表示 N列から祝日表があります。 N       M    O    P    Q        2006  2007  2008・・・ 元旦 振替休日 成人の日 建国記念日 振替休日 (1)~(4)はD列コード9があったらエラー表示にする条件があります。 (1)と(2)はWORKDAY関数(3)はNETWORKDAYS関数かなと思うのですが 祝日表の反映のしかたがわかりません。祝日表の日にち部分を全選択して名前の定義で名前を付けてやってみたのですがエラーがでてしまいます。。教えください それで祝日表の反映のしかたがわからないのでとりあえず1年分をセルH1~H25に祝日日を表示 =IF(D1=9,"エラー",WORKDAY(A1,3,$H4$1:$H$25)) と入れるとD列に9が入っているところはエラー表示するのですが結果(返り値?)がコード9の日にちが出てしまう箇所があります。これを訂正する方法はありますか? (4)ですが私が考えた計算式 =IF(B5="月","会議",IF(AND(B4="月",C4<>""),"会議",IF(AND(D5=9,B5="月"),"未定",""))) と入れると月曜祝日のとき、月、火と「会議」って出てしまいます添削おねがいします。 長々と書きましたがご存知の方がいらっしゃいましたらぜひ助けてください!よろしくおねがいします。。

  • エクセル関数_特定の日付の二つの時間の数

    エクセル関数について質問です。どなたか助けていただければ嬉しいです。 ある日付の二つの時間の数をカウントする方法を教えていただきたいです。 例えば、3/1の10:00~11:00までの数を数える方法です。 二つの時間の間の数は、sumproduct関数でカウントすることができますが、さらに条件を追加する方法がわからないです。 ふたつの時間の間の数を数えるために使用している関数は以下の関数です。  =SUMPRODUCT(($K$2:$K$20000>=O$1)*($K$2:$K$20000< O$2)) よろしくお願いします。

  • エクセルで時刻と数値の加算方法

    エクセル2003にて、日時があるセルに入力されています。 例えば、A5セルに、「2012/9/10 13:30」とあり、書式は「yyyy:m:d h:mm aaa」です。 この日時にB5セルにある数値「58時間」を加算した日時をC5セルに表示したいのですが、解りません。書式「0"時間”」です。 TIME関数や、HOUR関数を色々使用してみたのですが、答えが出ません。 是非、教えて下さい。 宜しくお願い致します。

  • エクセルのTEXT関数の使い方

    例えば、"19880701"というような数値を"1988/07/01"というような日付形式に変換したいのですが、そのためにTEXT関数をあえて使用するとすれば、どのような書き方になるのでしょうか?一応「=TEXT(D2,"yyyy/mm/dd")」と書いたのですが、"#VALUE!"というエラーが出てしまいます。どうすればよいでしょうか?ちなみにLEFT関数やMID関数は使わないとします。

  • excelの関数

    今勤務表を作成しているのですが画像の中の基準労働日数の値を関数で作成していた所  条件としては閏年・31日がない月・休祭日出勤=C待機等々細かく条件を指定していましたら  以下のように長くなってしまいましたもう少し短くしたいのですが  マクロ等組んだことがなくどうすればいいのか分かるかた教えてください =IF(TEXT(J4,"mm")="02", IF(TEXT(B36,"mm")=TEXT(J4,"mm"), IF(C8=1, NETWORKDAYS(J4,B36) -COUNTIFS(Y8:Y36,"*日") -COUNTIFS(C8:C36,">=2",C8:C36,"<=6",Y8:Y36,"*C待機*") -COUNTIFS(C8:C36,">=2",C8:C36,"<=6",Y8:Y36,"*年末年始*"), IF(C8=7, NETWORKDAYS(J4,B36) -COUNTIFS(Y8:Y36,"*日") -COUNTIFS(C8:C36,">=2",C8:C36,"<=6",Y8:Y36,"*C待機*") -COUNTIFS(C8:C36,">=2",C8:C36,"<=6",Y8:Y36,"*年末年始*"), NETWORKDAYS(J4,B36) -COUNTIFS(Y8:Y36,"*日") -COUNTIFS(C8:C36,">=2",C8:C36,"<=6",Y8:Y36,"*C待機*") -COUNTIFS(C8:C36,">=2",C8:C36,"<=6",Y8:Y36,"*年末年始*") ) ), IF(C8=1, NETWORKDAYS(J4,B35) -COUNTIFS(Y8:Y35,"*日") -COUNTIFS(C8:C35,">=2",C8:C35,"<=6",Y8:Y35,"*C待機*") -COUNTIFS(C8:C35,">=2",C8:C35,"<=6",Y8:Y35,"*年末年始*"), IF(C8=7, NETWORKDAYS(J4,B36) -COUNTIFS(Y8:Y35,"*日") -COUNTIFS(C8:C35,">=2",C8:C35,"<=6",Y8:Y35,"*C待機*") -COUNTIFS(C8:C35,">=2",C8:C35,"<=6",Y8:Y35,"*年末年始*"), NETWORKDAYS(J4,B36) -COUNTIFS(Y8:Y35,"*日") -COUNTIFS(C8:C35,">=2",C8:C35,"<=6",Y8:Y35,"*C待機*") -COUNTIFS(C8:C35,">=2",C8:C35,"<=6",Y8:Y35,"*年末年始*") ) ) ),IF(TEXT(B38,"mm")=TEXT(J4,"mm"), IF(C8=1, NETWORKDAYS(J4,B38) -COUNTIFS(Y8:Y38,"*日") -COUNTIFS(C8:C38,">=2",C8:C38,"<=6",Y8:Y38,"*C待機*") -COUNTIFS(C8:C38,">=2",C8:C38,"<=6",Y8:Y38,"*年末年始*"), IF(C8=7, NETWORKDAYS(J4,B38) -COUNTIFS(Y8:Y38,"*日") -COUNTIFS(C8:C38,">=2",C8:C38,"<=6",Y8:Y38,"*C待機*") -COUNTIFS(C8:C38,">=2",C8:C38,"<=6",Y8:Y38,"*年末年始*"), NETWORKDAYS(J4,B38) -COUNTIFS(Y8:Y38,"*日") -COUNTIFS(C8:C38,">=2",C8:C38,"<=6",Y8:Y38,"*C待機*") -COUNTIFS(C8:C38,">=2",C8:C38,"<=6",Y8:Y38,"*年末年始*") ) ), IF(C8=1, NETWORKDAYS(J4,B37) -COUNTIFS(Y8:Y37,"*日") -COUNTIFS(C8:C37,">=2",C8:C37,"<=6",Y8:Y37,"*C待機*") -COUNTIFS(C8:C37,">=2",C8:C37,"<=6",Y8:Y37,"*年末年始*"), IF(C8=7, NETWORKDAYS(J4,B37) -COUNTIFS(Y8:Y37,"*日") -COUNTIFS(C8:C37,">=2",C8:C37,"<=6",Y8:Y37,"*C待機*") -COUNTIFS(C8:C37,">=2",C8:C37,"<=6",Y8:Y37,"*年末年始*"), NETWORKDAYS(J4,B37) -COUNTIFS(Y8:Y37,"*日") -COUNTIFS(C8:C37,">=2",C8:C37,"<=6",Y8:Y37,"*C待機*") -COUNTIFS(C8:C37,">=2",C8:C37,"<=6",Y8:Y37,"*年末年始*") ) ) ) )

  • 日付関数でご教示ください(補足)

    エクセルで、どんな日付を入れても、その横のセルにその年の12月31日を表示する関数について 例えば セルA1に、H21.3/14 ならB1に、H21.12.31 セルA2に、H18.6/20 ならB2に、H18.12.31 関数 =TEXT(DATE(YEAR(A1),12,31),"ggge.mm.dd") をご教示いただいたのですが、 表示が、H でなくて平成となってますが、Hの表示方法を教えてください。 また、表示された、日付は、計算(数字)として使用できるるようにしたいのですが、可能でしょうか?。 何度も申し訳ありませんが、よろしくお願いいたします。

  • ExcelのIF関数 20090605 →2009/06/05 09:00:00

    ExcelのIF関数でおしえていただきたいのですが、 20090605   という8桁の数字を 2009/06/05 09:00:00 このように、/(スラッシュ)と時間を入れた形で 表記させたいのですが、 どのような関数で出来ますでしょうか? ちなみに、 (1)20090605  に    =TEXT(TEXT(W2,"00!/00!/00")*1,"yyyy/mm/dd")    この数式で、    2009/06/05 に。 (2)2009/06/05 に    V2&" 09:00:00"    この数式で、    2009/06/05 09:00:00 に。 このように、2工程であれば出来ているのですが、 できれば1工程で出来る関数がありましたら、 おしえていただけないでしょうか? よろしくお願いします。

  • エクセル関数を使って:を入れたい

    関数初心者です。 数字の間に ”:” を入れて時刻表示(h:mm:ss)にしたいのですが・・・ 5桁と6桁が混在しており、どうすればよいのかわかりません。 <5桁> 12345 ⇒ 1:23:45 <6桁> 123456 ⇒ 12:34:56 5桁、6桁にも対応できる方法がありましたらご教授ください。 よろしくお願いします。 以上

専門家に質問してみよう