• 締切済み

ExcelでHOURを使って25:00の25を取り出したい

現在シフト表の作成をしています。 そこで例えば 開始時間のセル(C7)に「17:00」 終了時間のセル(D7)に「18:00」 という数値が入力されるとM7がオレンジで塗りつぶされるように M7に「=IF(AND(M$6>=HOUR($C7),M$6<HOUR($D7)),1,"")」 という関数を入力し、条件式書式にて セルの値が1に等しい時、オレンジに塗りつぶすようにしました。 ところが終了時刻は1:00まであるので、 17時~25時が17時~1時と認識されてしまいFalseになり塗りつぶせません。 何か良い方法はないでしょうか。 HOURを使うと出来ないのであれば使わなくても構いません。 しかし視認性の良さから表示はあくまで00:00という表記にしたいです。

みんなの回答

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.8

No.4です。 そのままでいけるはずです。試して見てください。

narayuni
質問者

お礼

出来ました! さっきは他のセルにコピーせずに試したから出来なかったようです。 早とちりのお礼失礼しました。 とても嬉しいです!

narayuni
質問者

補足

締め切る上でポイント付与という事で悩みました。 一番最初に答えへ導いてくれた回答がいいのか 一番実用的な答えへ導いてくれた回答がいいのか 自分の確認不足がなければ一番最初に答えへ導いてくれた回答か。 そもそも後出し後出しでの情報不足の状態で答えてもらったのに1番も2番もあるのだろうかと。 全て素晴らしい回答で全員に付与出来ないのが心苦しいです。 ですので、今回は付与しない事にしました。 ポイントが欲しい人に対して申し訳なく思います。 皆様の回答を分析して参考にしエクセルをもっと勉強していこうと思います。 本当にありがとうございました!

  • turuzou
  • ベストアンサー率33% (15/45)
回答No.7

No.2です。 M7に「=IF(AND(M$6>=HOUR($C7),M$6<HOUR($D7)),1,"")」 上記を下記に変更してみてください。(C7に17:00、D7に25:00) M7に「=IF(AND(M$6>=VALUE(TEXT($C7,"[h]")),M$6<VALUE(TEXT($D7,"[h]"))),1,"")」

narayuni
質問者

お礼

回答ありがとうございます。 凄い! 10時表記のままうまくいきました! 入力式が全然違うのに色々やり方があるんですね。 Excelの奥深さを実感しました。

  • sige1701
  • ベストアンサー率28% (74/260)
回答No.6

>6行目にはそれぞれ9,10,11・・と時刻が入っています。 >M$6の場合だと17時と表示されていて数値の17が入力されて >います。 6行目に9:00,10:00・・とシリアル値で入力しましょう M7に「=IF(AND(M$6>=$C7,M$6<$D7),1,"")」 でいいのでは 時間未満を切り捨てにしているのかな

narayuni
質問者

お礼

回答ありがとうございます。 ビンゴです! 見事に成功しました!! 9時や10時の方が見やすいかな?という余りこだわりのない理由でした。 苦労した分喜びもひとしおです。 ありがとうございました!

  • sige1701
  • ベストアンサー率28% (74/260)
回答No.5

>M7に「=IF(AND(M$6>=HOUR($C7),M$6<HOUR($D7)),1,"")」 M6がどういうものか分かりませんが・・・ なぜ HOUR関数を使用しているのかな 日付を扱っていないなら 「=IF(AND(M$6>=$C7*24,M$6<$D7*24),1,"")」 分を無視するためなら、この回答を無視して下さい

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.4

C7に開始時刻(例:17:00) D7に終了時刻(例:1:00) M6に何か判りませんが時(~25)(例:24) と入っているとして、 M7に =IF(AND(M$6>=HOUR($C7),M$6<(HOUR($D7)+24*(HOUR($D7)<=1))),1,"") これでどうでしょう?

narayuni
質問者

お礼

回答ありがとうございます。 終了時刻を25:00にしてみると見事に塗りつぶせました! のですが・・・ また書き忘れで申し訳ないのですが・・・ 開始時刻と終了時刻の間も同時に塗りつぶし+各時刻のカウントもしたいです。 17時~25時の場合、間の16時~24時も同じように塗りつぶしたいのです。 試す前に聞いてばかりで申し訳ないですが、取り急ぎお礼をさせて頂きます。ありがとうございます。

  • A88No8
  • ベストアンサー率52% (834/1602)
回答No.3

すみません 質問していいですか? >開始時間のセル(C7)に「17:00」 >終了時間のセル(D7)に「18:00」 >という数値が入力されるとM7がオレンジで塗りつぶされるように >M7に「=IF(AND(M$6>=HOUR($C7),M$6<HOUR($D7)),1,"")」 上記のメッセージから開始時間(C7)と終了時間(D7)の間にM$6が入っていればよいと受け取れ、ANDでもう一つ0時から1時の範囲を作りORで評価すればよいのでは?と思うのですが、ここで M$6 の役割は何なのでしょう?定数(C7,D7が変数)?、変数(C7,D7が定数)?

narayuni
質問者

お礼

申し訳ありません。書き忘れていました。 6行目にはそれぞれ9,10,11・・と時刻が入っています。 M$6の場合だと17時と表示されていて数値の17が入力されています。 もうひとつ追記として、指定の時間(17時台)に何人勤務しているかというのもCOUNTしている為、塗りつぶすセルには「1」を返すようにもしたいです。 それを利用しての条件式書式にてセルの値が1に等しい時にオレンジ色に塗りつぶすようにしています。 ちなみにエクセルは数日しか触っていないど素人です。

  • turuzou
  • ベストアンサー率33% (15/45)
回答No.2

こんな感じでも? C7とD7の比較として(C7に17:00、D7に25:00) =VALUE(TEXT(C7,"[h]"))<VALUE(TEXT(D7,"[h]"))

narayuni
質問者

お礼

回答ありがとうございます。 試しに丸ごとコピペしてみましたが「true」という値が返されて終わりました・・・。 条件式書式を変更しないといけなかったかな? 後で試してみます。

  • FEX2053
  • ベストアンサー率37% (7987/21354)
回答No.1

1:00までしかないんですよね。でしたら「姑息な手段」で、 =IF(時間<=1,時間+24,時間) という演算式を噛ませれば、何とかなるんじゃないですか? 要は「0~1時」を「24~25時」に無条件に持ち上げると発想です。

narayuni
質問者

お礼

回答ありがとうございます。 +24という発想を頂いて試しにM7に、 「=IF(AND(M$6>=HOUR($C7),M$6<HOUR($D7+24)),1,"")」と付け足してみました。 ですが、 ・終了時間を21時にしても24時が塗りつぶされてしまう ・終了時間を25時にすると塗りつぶしがなくなる と、なりました また書いて頂いた演算式をそのままコピペして時間を入力してみましたが よく分からず断念しました・・・。

関連するQ&A

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

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

  • Excelで同じ関数を複数のセルで計算させたい場合

    Excelを勉強しはじめたばかりの者です。 タイトルを含め用語や表現の仕方が間違いばかりだと思いますが、 どうぞよろしくおねがいいたします。 C2に勤務の開始時刻、D2に終了時刻を入れ、 E2に =hour(D2-C2) と打ち、合計時間が出るようにしています。 1行を1日分に使っていますが、 日が増えるたびにE3に =hour(D3-C3)、E4に =hour(D4-C4) …と打っていくのではなく、 開始時刻と終了時刻を入れる作業のみで合計時間を出したいのです。 なにか方法はありますでしょうか、お知恵を貸していただけますと大変助かります。

  • セルの条件付書式で一日の時間管理表を作成

    セルの条件付書式で一日の時間管理表を作成したいと考えています。 セルA2:開始時刻 セルB2:終了時刻 セルC2:7:00~8:00 セルD2:8:00~9:00 セルE2:9:00~10:00 ・ ・ ・ 開始時刻と終了時刻を入力すると、それに対応した時刻のセルの色が表示されるにはどうすればよいのでしょうか? EXCEL2003

  • EXCELで勤務表作りたいのですが・・・ど素人です。

    セル1マスを1時間で0-24までの勤務表を作りたいのです。 勤務表のファイル見つけて改ざんして24時間まで作成しました。 以下の関数がセル1マス1マス入ってます。 =IF(AND(AX$9>=HOUR($C10),AX$9<HOUR($D10)),1,"") A  B    C     D    E  F  G  H  I.....  AC 1  名前 開始時間 終了時間 0時 1時 2時 3時 4時 5時....24時 2  あ  18:00  23:00 3  い  17:00  24:00 という形で時間を入れると開始-終了時間のセルに1の値が表示され 同時にセルに色が付くのですがどうしても24:00を選択するとすべての セルで1の値が出なくなり色も付きません。 AC1の式は=IF(AND(AC$6>=HOUR($C7),AC$6<HOUR($D7)),1,"")です。 解決策とこの式の意味合いを詳しく教えては頂けないでしょうか?

  • Excel 2007 条件付き書式の設定方法

    任意の2つの時刻の差を計算し、その結果が基準の時間より早いか遅いかを条件付き書式を使って表示させたいと思います。 A | B | C | D | 1| 10:00 | 13:30 | 2:30 | 3:30 2| 18:30 | 19:00 | 2:00 | 0:30 3| 02:45 | 05:00 | 2:00 | 2:15 Aが開始時刻、Bが終了時刻、Cが基準時間、DがA~Bの経過時間です。 結果としては、セルD1とセルD3は赤字に、D2はそのままにします。(この下に行がずっと続きます。) これをExcel2007上で行うにはどうすればいいでしょうか。セルD1に「=C1>D1のときフォントを赤字にする」といったことを設定してオートフィルで下までコピーしてもまったく反映されません。なので、たとえばD1:D60に「=C:C>D:Dのとき・・・」としてもダメでした。よろしくお願いします。

  • 条件付き書式でセルに色を付けた際のズレ

    OSバージョン:Windows7 Professional SP1 Excelバージョン:Excel2007(12.0.06665.5003) SP3 MSO(12.0.06665.5003) スケジュール表を作成するにあたり、条件付き書式で自動的に該当時刻列のセルに色が付くようにしたいと思っています。 サンプルとして、 ------------------------------------------ 【セルに値を入力】 ・A3:A62に22:00~22:59の時刻を1分刻みで入力(開始時刻列) ・B3:B62に22:01~23:00の時刻を1分刻みで入力(終了時刻列) ・C2:BK2に22:00~23:00の時刻を1分刻みで入力(数式参照用時刻行) 【条件付き書式を設定】 ■数式を使用して、書式設定するセルを決定を選択し、以下の数式を設定 "=IF(C$2>=$A3,IF(C$2<$B3,TRUE,FALSE),FALSE)" ■書式:セルを赤で塗りつぶす ■適用先:"=$C$3:$BK$62" ------------------------------------------ と設定します。 全て開始~終了が1分なので、各行1セルずつ赤色がついて、綺麗に斜めの線が出来る想定なのですが、 6行目、8行目、10行目、12行目以降の行について、2セルずつ赤色がついてしまいます。 こうなってしまう事象原因がお分かりの方はいらっしゃいますでしょうか? よろしくお願いします。

  • エクセルで時間計算をして表を作りたいのですが

    タイトルのとおりです。 =IF(AND(E$6>=HOUR($C7),E$6<HOUR($D7)),1,"") このような文で、シフト表をつくります。 これは時間単位ですが、30分単位も作りたいのです。 この表は開始・終了時間を入力するとシフト表に色つきバーができて、どの時間に何人いるかを見るためのものです。 勤務時間帯が時間単位ではなく、30分刻みなので30分の表部分を入れたいのです。 お詳しい方、よろしくお願いいたします。

  • エクセルの条件付書式について教えて下さい。

    エクセルの条件付書式について教えて下さい。 作業予定時間と実績時間の差異を視覚的に把握したく、予定時間-実績時間=予定時間オーバーであれば表示文字を赤色等にしたいのですが、どなたかご教授頂けますようお願いします。 現在出来ているのは以下の通りとなります。 A1セル=予定時間(120 ※分単位で入力、セルの書式は標準)、B1セル=作業開始時間(9:00)、C1セル=作業終了時間(12:00)、D1セル=C1-B1(180、セルの書式は[mm])である場合、予定(A1)120分に対して実績(D4)が180分なので60分オーバーとなりますが、この時D1セルの文字を赤色にしたいです。 D1セルには条件付書式で「セルの値が」「次の値より大きい」「=C1」として書式ボタンの書式-フォントタブで色を設定してもD1に反映してくれません。 ※A1が0若しくは空白ならD1の条件付書式がきちんと反映してくれます。 とても困っていますので、どなたか助けて下さいますようお願い致します。。。。。。。。

  • シフト表をエクセルで出来ますでしょうか?

    飲食業のシフト表作成で困っています。 A4:A28までは名前 B列はスタッフの始業時間 C列は就業時間 D3には9:00 E3は9:30 ・・・AB21:30 どの時間帯にスタッフが多いのか少ないか等を把握したくて「条件付き書式」の「数式が・・・」に =AND($B4<=D$3,$C4>D$3)を入力して 勤務時間帯の空白セルに色を付ける所までなんとか出来たのですが、 確認作業をしていたら14:00以降が正しく認識されず、就業時間が14:30なのに15:00まで色付けされたり、認識されずセルに色が付かない時間帯のセルがあるのですが原因が全く分かりません。新しいシートに作成し直したり、セルの書式設定を時刻に直したりと色々やってみたのですが改善されず困っています。 何かよい方法や原因がわかる方がいらしたら教えていただきたいです。宜しくお願い致します。

  • Excelのユーザー定義でできるのでしょうか?

    Excelのユーザー定義で、日にちに色をつける方法を教えていただいたのですが、時間ごとで色をつけることっていうのも、できるのでしょうか? セルC2には、開始時間、セルD2には、終了時間が入っているとします。 セルC2には、データの入力規則を使って、別シートから時間をひっぱってきています。 セルD2には、timevalue関数を使って、開始時間から終了時間を求めてあります。 そのセルC2に入力されている、 開始時間が、たとえば、午後13:00からだったら、 セルC2と、セルD2の色を青にする、という具合です。 条件付書式でやったら、シリアル値に阻まれまして、全部のセルの色が変更してしまいました。 色の変更はセルでも、フォントの方でもかまいません。 ほかの方法もあるような気もするのですが、思いつかないので、 おわかりになる方がいらっしゃいましたら、よろしくお願いいたします。

専門家に質問してみよう