• 締切済み

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

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

みんなの回答

  • seiiiichi
  • ベストアンサー率41% (79/190)
回答No.6

やってみたところうまくいったと思います。 1. E7のセルにおいて、「HOUR()」をはずす。  (中身は残す。)※#5さんの回答通り 2. E7を他のセル(塗りつぶされるエリア)にコピー 3. E6から横方向の時刻リストの項目の書式を  時刻に変更し、値も再入力。 4. 「時刻リスト」シートも30分単位に修正。 でどうでしょう?

taro0713
質問者

お礼

ご回答ありがとうございました #5氏にも書かせて頂きましたが、 ご指摘の1~4までをすべて実行しましたが、 定義のところで8:30で名前をつけられないので、 本シートの終了時間の計算がうまくいきません。

  • g_nekoru
  • ベストアンサー率34% (30/88)
回答No.5

C7・D7・E6のセルの書式設定は統一されていますか? もしされていないのであれば書式を時刻で統一してください。 変更後は対象のセルのデータを書き直さないと設定が変わりません。 完全に決まった時刻で判定するのであれば単純にHOUR()を削除するだけでいけるはずです。 =IF(AND(E$6>=$C7,E$6<$D7),1,"")

taro0713
質問者

お礼

ご回答ありがとうございました 確かに、棒グラフのところはそれでいいと思いますが、 挿入→名前→定義のところで、「8:30」と定義できませんでした。 時刻設定リストで8:30などの30分刻みで表を増やしましたが、8:30で定義できなければ、その下のブルーの9:00、9:30・・・・という部分を参照することができません。 ということで、まだ完成していません^^;

  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.4

C7:開始時間、D7:終了時間、E6:シフトの時間ということでいいのでしょうか? E6から始まるシフトの時間を8:00 8:30 9:00.....の様に時刻形式で登録 E7=IF(AND(E$6>=$C7,E$6<$D7),1,"") とすればいいのでは?

taro0713
質問者

お礼

みなさま、ご回答ありがとうございました じつは、下記のURLのフリーソフトに30分単位を 取り付けたいのです。 8時、9時・・・・ではなく、 8:00、8:30、9:00、9:30・・・という シフト表にしたいのです。 http://www.juno-e.com/exdun/shift.htm いろいろ試してみますが、良い案がありましたら また、よろしくお願いいたします。

  • at121
  • ベストアンサー率41% (85/206)
回答No.3

#1 #2 を参考に HOUR($C7)  を  24*($C7)  に置き換える。 時間のデータは 1日が 1なので 24倍すると「時間」   ※ 下記 falseのとき "" 空白は判りにくいので - に変更 c6セル 開始  終了 8 9 10 11 12 13 14 9:00 12:10 - 1 1 1 1 - - e7セル から 横に・・ =IF(AND(E$6>=24*($C7),E$6<24*($D7)),1,"-") c6セル 開始  終了 8 8.5 9 9.5 10 10.5 11 11.5 9:00 10:45 - - 1 1 1 1 - - e7セル から 横に・・ =IF(AND(E$6>=24*($C7),E$6<24*($D7)),1,"-")

taro0713
質問者

お礼

ご回答ありがとうございました すみません。 うまくいきませんでした。 やり方が悪いかもしません^^;

  • g_nekoru
  • ベストアンサー率34% (30/88)
回答No.2

実際のデータがよくわからないのですが、質問の例でいうと、 セルC7(C列)に開始時間、セルD7(D列)に終了時間、E6(6行)に調べる時間帯を入力と言うことだと思います。 >30分刻みなので30分の表部分を入れたい と言うのが良くわからないのですが、 開始時間が9:15分だった場合、開始時間を9:30と判定したいと言うことでしょうか?

taro0713
質問者

補足

ご回答ありがとうございました 他の方へ補足したとおりです。 よろしくお願いいたします。

  • seiiiichi
  • ベストアンサー率41% (79/190)
回答No.1

表の全体の構成が分からないのですが、、 E6、C7、D7には何の時間をあらわすものが入ってて、 縦に、横に、どのようにならんでいるか等 教えてください。

taro0713
質問者

補足

すみません。 補足します。 E6~は、時間が入っています。 8時、9時、10時となっています。 これを8:00、8:30、9:00・・・としたいのです。 またC7には、勤務開始時間 D7には、勤務終了時間をプルダウンで選んで入れます。 別シートに時間帯のテーブルがあります。

関連するQ&A

  • 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,"")です。 解決策とこの式の意味合いを詳しく教えては頂けないでしょうか?

  • エクセルで24時間対応の勤務表を作りたいのですが、うまくいきません。

    現在、15分刻みの24時間対応の勤務表を作成しています。 作成中の勤務表は (1)入力規制でリストから入力された勤務開始時間と勤務終了時間をIF関数」で判定し、 (2)「条件付き書式設定」でセルを塗りつぶす というものです。 24:00という時間が0:00と判断され、IF関数で「真」に返りません。 どのような設定にすればよろしいですか?

  • Excel:勤務時間の計算がうまくいかない。

    No.1468024の質問をした者です。 勤務表を作成しています。(Excel2002を使用) 終了時刻(D列)ー開始時刻(C列)ー休憩時間(E列)=当日の勤務時間を計算しています。 No.1468024の質問でアドバイスをいただき、以下のような計算式を記述しました。 <例> =AND(C13*D13)*(MIN(IF(AND(D13>="12:00"*1,D13<="13:00"*1),"13:00",D13),"17:40")-MAX(IF(AND(C13>="12:00"*1,C13<="13:00"*1),"12:00",C13),"09:00")-E13+FLOOR(MAX(D13,"18:00")-"17:59:59","0:15")) ほぼうまくいくのですが、開始時刻9:00終了時刻12:00とした場合、勤務時間4:00となり、間違ってしまいます。(正しくは勤務時間3:00。また開始時刻9:00終了時刻が12時から13時までの間の時刻で入力された場合も勤務時間3:00と出力したいです。) 休憩時間セルに以下のような計算式を書いています。 <例> =IF(COUNT(C13:D13)<2,0,IF(D13-"12:00"*1<=0,0,IF(C13-"12:00"*1>=0,0,IF(D13<"18:00"*1,"1:00","1:20")))) 休憩時間は12時から13時までの1時間。 終了時刻が17:40以降なら20分休憩時間が加算されます。 開始、終了が入力されていないと0:00表示。 言葉足らずでしたら、進んで補足させていただきますので、よろしくお願いします。

  • Excel:当日勤務時間の計算式のアドバイスを下さい

    Excel2002を使用し、勤務表を作成しています。 修正を繰り返しだいぶ計算ができるようになりました。 今回は、開始13:15終了16:15の場合、休憩なし、当日勤務時間3時間と計算させたいのですが、何かアドバイスあればよろしくお願いします。 現在使用している計算式では以下のように計算されます。 開始8:30終了17:05、休憩45分、当日勤務時間7時間50分※定時 開始7:30終了16:05の場合、休憩45分、当日勤務時間7時間50分 開始8:00終了16:35の場合、休憩45分、当日勤務時間7時間50分 開始13:15終了17:05の場合、休憩なし、当日勤務時間3時間50分 開始13:15終了17:50の場合、休憩なし、当日勤務時間3時間50分 -------------------------------------------------------- 開始時刻:C列 終了時刻:D列 開始時刻を15分単位で切り上げる:P列:=CEILING(C6,"0:15") 終了時刻を15分単位で切り上げる:Q列:=CEILING(D6,"0:15") 休憩時間を45分として勤務時間を計算する:R列 -------------------------------------------------------- ■休憩時間 =IF(COUNT(C6:D6)<2,0,IF((P6<"12:30"*1)*(Q6>"13:15"*1),"0:45",IF ((C6>="13:15"*1)*(D6>="17:20"*1),"0:15","0:00")))+IF(R6>="8:00"*1,"0:15","0:00") ■当日 勤務時間 =IF(COUNT(C6:D6)<2,0,IF((C6>="13:15"*1)*(D6>="17:20"*1),R6-"0:15",IF(R6>="8:00"*1,R6-"0:15",R6))) ■休憩時間を45分として勤務時間を計算する =IF(COUNT(C6:D6)<2,0,AND(C6*D6)*(MIN(IF(AND(D6>="12:30"*1,D6<="13:15"*1),"12:30",Q6),"16:05")-MAX(IF(AND(C6>="12:30"*1,C6<="13:15"*1),"13:15",P6),"07:30")-IF((P6<"12:30"*1)*(Q6>"13:15"*1),"0:45","0:00")+FLOOR(MAX(D6,"16:05")-"16:04:59","0:15")))

  • Excel:勤務時間計の計算式がうまくいかない

    Excel2002を使用し、勤務表を作成しています。 以前こちらでアドバイスをいただき、作成することができました。 今回修正で、開始8:30終了17:05の場合、休憩45分、当日勤務時間7時間 50分と計算させたいのですが、何かアドバイスあればよろしくお願いし ます。 現在使用している計算式では以下のように計算されます。 開始8:00終了16:35の場合、休憩45分、当日勤務時間7時間50分 開始8:30終了17:05の場合、休憩60分、当日勤務時間7時間35分 ■8時-16時35分(定時)の場合 開始時刻:C列 終了時刻:D列 開始時刻を15分単位で切り上げる:P列:=CEILING(C7,"0:15") 終了時刻を15分単位で切り上げる:Q列:=CEILING(D7,"0:15") ■休憩時間 =IF(COUNT(C7:D7)<2,0,IF((P7<"12:30"*1)*(Q7>"13:15"*1),"0:45","0: 00"))+IF(D7>="16:50"*1,"0:15","0:00") 休憩時間は12:30から13:15までの45分。 終了時刻が16:35以降なら15分の休憩時間が加算。 開始、終了が入力されていないと0:00表示。 ■当日 勤務時間 =AND(C6*D6)*(MIN(IF(AND(D6>="12:30"*1,D6<="13:15"*1),"12:30",Q6), "16:35")-MAX(IF(AND(C6>="12:30"*1,C6<="13:15"*1),"13:15",P6),"08 :00")-IF((P6<"12:30"*1)*(Q6>"13:15"*1),"0:45","0:00")+FLOOR(MAX (D6,"16:50")-"16:49:59","0:15")) 開始、終了が入力されていないと空白 12:30~13:15の場合は12:30、16:35以降の場合は16:35、それ以外は終 了時刻のまま。 8:00以前は8:00、12:30~13:15の場合は13:15、それ以外は開始時刻の まま。 残業していないケースをIF文を使わずに計算したいため終了時刻が 16:50以前の場合は16:50と補正して、計算結果が00分になるように細工 。 言葉足らずでしたら、進んで補足させていただきますので、よろしくお 願いします。

  • エクセル2007で時間帯勤務状況の分かるシフトを作っています(1日1シ

    エクセル2007で時間帯勤務状況の分かるシフトを作っています(1日1シート) 現在5分単位で稼働人数の分かる以下のようなシフトを作っています。 A2~20 氏名 B2~20 出勤時間 C2~20 退勤時間 E1~FE1 8:00~21:00までの5分刻みの時刻 E2~FE2 =IF(AND($B2<=E$1,$C2>E$1),"■","") の関数を利用し勤務時間に■を表示させる この表に休憩時間を追加したいと考えております 休憩時間は10パターンあり パターン1:10:00~10:15,12:00~13:00,15:00~15:15 パターン2:10:15~10:30,12:30~13:30,15:15~15:30 このように、一日の内に3回の休憩時間があります。 この休憩時間を上記のシフト内のDにプルダウンで選択させ 該当する時間に”□”を表示させることは可能でしょうか? また、不可能な場合他に良い方法はありますでしょうか 時間別に稼働人数を出したいので、塗りつぶし等関数でカウントができないものは考えておりません お手数ですが、お力をお貸しください。

  • 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という表記にしたいです。

  • エクセル2003で勤務時間計算をしたいのですが、

    エクセル2003で勤務時間計算をしたいのですが、 現状は下記のように、H列の計算式が30分単位なのですが、 5分単位で給与計算して、小数点以下を切り捨てするには、 H列の計算式のどこを訂正するとよろしいでしょうか? ■現状(時給880円の場合) C列     D列     E列     F列     H列 始業時刻  終業時刻  休憩時間  実働時間  日給 10:00    17:30     0:45    6:45     5720円 H列の計算式 =IF(OR(C9="",D9=""),"",G9*HOUR(F9)+IF(AND(MINUTE(F9)>=0,MINUTE(F9)<=29),0,IF(AND(MINUTE(F9)>29,MINUTE(F9)<=59),G9/2,G9)))

  • Excelで勤務時間を計算する式について

    会社の勤務報告書が下記画像の形式で手入力しております。 今回、勤務時間を関数を用いた式で算出できないかと思い、 頭を悩ませております。 悩んでいるポイントは、  ・開始時間と終了時間が数値になっている  ・終了時間が四捨五入で記述されている(厳密には6分単位) という点です。 休憩時間は12:00~13:00と17:40~18:10となっておりますが、 こちらはIF文を用いて処理できそうです。 算数や数学が得意な方や、勤務表をすでに関数化してらっしゃる方、 どうかお力添え頂けないでしょうか。 よろしくお願いいたします。

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

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

専門家に質問してみよう