• 締切済み

エクセルで営業時間のみの経過時間を計算したい

エクセル2007で、サポートデスクの対応時間を、[h]:mmで表現したいと思います。 (1) 発生時間と、(2)完了時間がそれぞれ、dd/mm/yyyy AM(PM)で入っているので、 ここから(2)-(1)をしてその間の時間を【対応時間】としてもとめたいのですが、 問題はサポートデスクの営業時間が、平日の8:30-18:30なので、これ以外の時間帯と、 あと土日祝日を【対応時間】から控除したのです・・ どのようにすれば計算できますでしょうか? 関数だけでできそうな気がするんですが、マクロを使わないとだめでしょうか・・・ すみませんがよろしくお願いいたします。

みんなの回答

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

例えばA2セルから下方に発生時間があり、B2セルから下方に完了時間があるとします。 そこでそれぞれの対応時間をC列に表示させるとしたらC2セルには次の式を入力して下方にドラッグコピーします。 =IF(OR(COUNTIF(Sheet2!B:B,INT(A2))>0,WEEKDAY(A2,2)>=6),"",MIN(MOD(B2,1),"18:30")-MAX(MOD(A2,1),"8:30")) ここで祝日についてはシート2のB列に2013/2/11のように入力されているとします。 なおC列の時刻表示は表示形式から選んでください。

erosy00
質問者

お礼

ありがとうございました!

関連するQ&A

  • エクセル 時刻の計算 特定範囲の時間を求める。

    いつもお世話になっております。 標題につきご回答お願い申し上げます。 エクセル愛好家の皆様よろしくお願い致します。 平日、休日を認識し、かつ指定時刻ないの時間を求めたい。 説明 赤○の数式がわかりません。  土曜、日曜、祝日が休日稼働、それ以外は平日作業 日中はAM8:00~PM8:00(20時) 夜間はPM8:00~AM8:00です。 平日休日判定は日付の横のセルに、平日="平" 休日="日"と記載し判定しようかなと思っています。

  • Excelの時間計算について

    日付と時間が入力されたセルがあるのですが、 そのセル内容を合体させて別のセルに表示しようと思っています。 例)A1に日付「2009/07/11」、B1に時間「15:00」と入力されていた   場合に C1に「2009/07/11 15:00」を表示させ、実時間として   認識させたい。D1に表示された現在の時刻「=NOW()」からの   経過時間をE1に表示させるのが目的。 表示だけでしたらC1に 「=TEXT(A1,"yyyy/mm/dd")&" "&TEXT(B1,"hh:mm")」 と入力すれば解決するのですが、 時間として認識させるにはどのようにすればよいでしょうか? 因みにB1のセルの時刻は書式設定を「yyyy/mm/dd hh:mm」として 表示させると「1900/01/00 15:00」となります。 D1に表示された現在の時間「=NOW()」からどれだけ時間が 経過しているかを計算させ、E1に表示するのが最終目的です。 どなたかお知恵を貸していただけませんでしょうか? よろしくお願いします。

  • Excelで英語表示された日時の変換

    Excelで下記のようなテキストがあります。 (1) Jan 7 2013 8:22AM (2) Jul 30 2012 11:42AM これらを「yyyy/mm/dd HH:mm」で表示したいのですが、 どのような関数を利用したらよいでしょうか。 宜しくお願いします。

  • エクセル 時刻の計算

    いつもお世話になります。 時刻の計算で数式等わからないので教えてください。 つきまして添付画像にて確認解答をお願いします。 休日=土曜、日曜、祝日 それ以外は平日扱い。 日中作業=Am8:00~Pm8:00(20:00) 夜間作業=Pm8:00(20:00)~Am8:00 ※除雪の作業なので特殊ですがよろしく願いします。

  • 2つの時刻間の時間を計算したい。

    よろしくお願いします。 エクセル2010、OSはWindows7です。 例) セルA1 に時刻その1 セルB1 に時刻その2 というデータが入力されています。 時刻は、YYYY/MM/DD hh:mm の形式で入力されており、2つの時刻の差は24時間以上なので日付は異なります。 この2つのセルの時間差をhh:mmの形式で表したいですが、単純に引き算しただけでは思うようにいかないようです。 やり方を教えてください。

  • Excelマクロで不要な行を繰り返し処理で削除する

    下記の図表【事前】のA列に時間(シリアル値)が入力されていますが、 これをマクロを使って不要な時間帯のデータを行ごと削除したいです。 それを実行するためのマクロをご教示頂けますでしょうか? 削除対象の条件 ・9:00:00~18:00:00以外の夜間や早朝の時間帯は削除する。 その他 ・データが入力されている行数分繰り返し処理 ・秒数、分数は全て0 ・列は3列(B、C列は任意) ・Excelのバージョンは2007 【事前】   A                        B      C 1 yyyy/mm/dd 01:00:00 ※削除対象 2 yyyy/mm/dd 23:00:00 ※削除対象 3 yyyy/mm/dd 09:00:00 4 yyyy/mm/dd 15:00:00 5 yyyy/mm/dd 17:00:00 6 yyyy/mm/dd 19:00:00 ※削除対象 7 yyyy/mm/dd 04:00:00 ※削除対象 【事後】   A                        B      C 1 yyyy/mm/dd 09:00:00 2 yyyy/mm/dd 15:00:00 3 yyyy/mm/dd 17:00:00

  • wordpressの住所、営業時間を変えたい。

    いつもお世話になり誠に有難うございます。 標記の件。 下記の通り、wordpressの住所、営業時間が 表記されてます。 自分のプロフィールに変えたいのですが、 どうしたらいいでしょうか? 度々すいません。 ご回答のほど宜しくお願い申し上げます。 アクセス 住所 123 Main Street New York, NY 10001 営業時間 月~金: 9:00 AM – 5:00 PM 土日: 11:00 AM – 3:00 PM

  • EXCEL VBAでのCSV出力について

    EXCELに入力されたデータをCSV出力するプログラムを作成しました。データには日付が入っており年月日がYYYY/MM/DDの形で入力されています。これをハンド作業で名前をつけて保存でCSVに出力すると年月日はそのままの状態で保存されますが、VBAで保存するとMM/DD/YYYYの形になってしまいます。この状態で保存されると、次にEXCELで読み出すと年月日が文字列扱いになってしまいます。新しいマクロの記録で行っても結果は同じでした。 VBAで保存する際、YYYY/MM/DDで保存する方法はないでしょうか。 また、MM/DD/YYYYで保存されたCSVを日付としてEXCELに認識させる方法はあるでしょうか。 教えてください。よろしくお願いします。

  • yyyy/m/d h:mmという表記をyyyy/mm/ddにしたい

    エクセルに関する質問です。よろしくお願いします。 シート上でyyyy/m/d h:mm(例えば2009/5/1 3:04や2009/6/15 12:04のように)で表記されている箇所を、時間表記を切って「yyyy/mm/dd」だけにしたいと考えています。 「セルの書式設定」の「表示形式」タブで設定すれば表示上は「yyyy/mm/dd」になるのですが、データ上は「h:mm」が残っています。 そのためピボットテーブルで「yyyy/mm/dd」の情報をベースに、集計しようとすると「h:mm」のデータが邪魔になってしまいます。 何とかなりませんでしょうか? よろしくお願いいたします。

  • 現在時間と、ファイルの作成時間の差分をとる方法

    VBAマクロを使用して現在時間と、ファイルの作成時間を比較後、10分前以降に作成したファイルを開かないようにするマクロを作ろうとしています。 下記のような方法で、現在時間と、ファイルの作成時間を取得しましたが、比較する方法(差分を取る方法)がわかりません。 mydateは、2006,02,15,07,16 myfile_dtの方は、2006/1/18 1:11 のような形式で、表示されていますがこのような異なる形式で表示される時間を比較することが出来るのでしょうか。 比較する方法を教えてください。 Dim mydate as integer Dim myfile_dt as integer mydate = Format(Now(), "yyyy,mm,dd,hh,mm") myfile_dt = FileDateTime("aaaa.csv")