• ベストアンサー

Excel のIF関数について

いつもお世話になっております。 Excel で表を作成しようとしています。 C列(始業時間) D列(終業時間) E列(休憩時間) を表示するようにしています。 E列の休憩時間に入る数値は『1:00』なので、 C列を入力したら自動的に表示するようにしようと思いました。 ただし、休みの日があったり、13:00以降の始業時間だと休憩時間はないので   始業時間が空白の時は、休憩時間も空白   始業時間が『13:00以降』の場合も休憩時間は空白 …というようになるようE列に下のようなIF関数をたててみました。 =IF(ISBLANK(C1),"",IF((C1)<"12:00","1:00","")) うまくいったように思ったのですが、始業時間に13時以降の時間を入れても 休憩時間は空白にならず『1:00』を表示してしまいます。 あれこれ考えたのですがギブアップです…。 どなたかアドバイスいただければ幸いです。 よろしくお願い致します。

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

  • ベストアンサー
回答No.2

"12:00"と、文字列にしているため、大小が判定できないのです。 文字列になった数値を数値として扱うためにValueをつかってみたらどうでしょう。 =IF(ISBLANK(C1),"",IF(VALUE(C1)<VALUE("12:00"),"1:00",""))

ajyapa-paso
質問者

お礼

なるほど…。 ""で、文字列していたのが原因であったのですね。 しかし『VALUE』だと、文字列になった数値を数値として扱ってくれるのですね。 また1つExcelについて学習できました。(←おい…) 教えていただいた式でも、うまく表示することが出来ました♪ さっそく御回答いただきまして、ありがとうございます。 またなにかありましたら、宜しくお願い致します。

その他の回答 (1)

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

=IF(ISBLANK(C1),"",IF(C1<TIME(12,0,0),TIME(1,0,0),"")) にしてみてください。

ajyapa-paso
質問者

お礼

教えていただいた式で試してみたところ、うまくいきました!! 昨日から悩んでいたのがスッキリしました♪(笑) さっそく御回答いただきまして、ありがとうございます。 またなにかありましたら、宜しくお願い致します。

関連するQ&A

  • Excel IF関数の使い方

    ExcelでIF関数を使えばいいのは分かっているのですがどう使ったらいいのかが分かりません。 勤務表をExcelで作っていて、所定内勤務時間を計算したいです。 A列に休み区分、B列に始業時間、C列に終業時間、D列に所定内勤務時間が入っています。 A列に「半休」と文字が入った場合 始業時間8:30、終業時間12:00 と入力したら、自動的に所定内勤務時間を3:30 始業時間12:45、終業時間17:00 と入力したら、自動的に所定内勤務時間を4:15 A列に何も入らなかったら終日勤務で、所定内勤務時間を7:75と表示させたいです。 =IF(AND(A1=半休,B1=TIMEVALUE("8:30"),"3:30"),???) ここまでは分かるのですが???以降が分からないです。 どなたか教えていただけないでしょうか? よろしくお願いいたします。

  • エクセルで勤怠表の時間計算

    初めまして。 エクセルで勤怠表を作成していますが、わからない所が出てきました。 A列:日付と曜日 B列:土日祝時に"休"を表示 C列:始業時間 D列:終業時間 E列:労働時間 F列:休憩時間(12:00~13:00) G列:休憩時間(17:30~18:00) H列:休憩時間(24:00~25:00) I列:休憩時間(28:30~29:00) J列:実働時間 E列ーsum(F列:I列) ちょっと簡略化しましたがこんな感じです。 休憩時間は、未入力時0:00になっています。 K列に、 例えば、20:00~33:00(平日→平日)まで働いたとすると、 5:30と表示するようにしたいのです。 (20:00~29:00まで休憩時間を抜いて7:30時間。20:00~22:00はカウントしません。ので5:30になります。) 始業時間(9時以上)から休憩時間を抜いた7:30を表示したいのです。 但し、始業時間が9:01(極端ですが)~22:00までは何時から働いても表示しません。 さらに、休前日の24:00~はカウントしません。 22:00~33:00(平日→平日)なら7:30。 22:00~33:00(平日→休日)なら2:00。という風です。 この計算式が色々やってみたのですが、組めません。 始業時間が決まっていないので、休憩時間が要る時と不要な時とパターンがいっぱいあると思うのですが・・・。 宜しくお願いいたします。

  • エクセルのIF関数で複数の条件を指定する方法

    エクセルのIF関数で複数の条件を併記する記載方法がわかりません。 例えば、A列に苗字、B列に名前が入っている(どちらかが空白の場合もある)とします。 その場合に、苗字と名前両方が入力されている場合にのみC列に氏名を表示し、どちらかの条件が偽の時は何も表示しない関数を入れたいです。 具体的に以下のような関数を考えてみましたがこれはエラーになります =IF(ISBLANK(A1) | ISBLANK(B1),"",CONCATENATE(A1,B1)) "|"の辺りが違うようなので"||"とか"OR"とかやってみましたがうまくいきません。どう記述すればよいでしょうか。 ちなみに、IF文のなかに別のIF文をネストして同じ事をやる方法ならわかるのですがこれはなんとなく好きではありません。上記のような記載の仕方でできれば教えて欲しいです。

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

    エクセル初心者です。毎月の支払出来高の表を作っています。A列に項目、B列に契約金額、C列に”済”と支払いが完了したら表示するように式が入ってます。D列以降は月々の累計支払いが入っています(例えば100万で契約して1月~12月で支払い)。D列 1月 E列 2月・・・・。 12月の次の列に残高計算する式が入っています。  そこで質問なのですが、C列に, IF(BR119=0,"済",IF(BR119<0,"NG","")),IF(D119<0,IF(BR119>D119,""))と入れたのですが、B列の金額の欄には値引き額があってマイナスの金額があるのです。契約金額を上回った時に”NG"と表示させたいのと、完了した時に”済”を表示させたいのですが、マイナスのところがうまくいきません。どうかアドバイスお願いします。

  • エクセルのif関数のエラー

    エクセルでif関数を使ってデータ処理をしたのですが、上手くいき ません。何がおかしいのかが分からない状態で困っています。 状況  A B C D E 1 : + = ? 関数式 とセルに入力してあるとします。(A1=:,B1=+,C1==,D1=?) 関数式のセルに以下の様に入力しました。 =IF(ISBRANK(D1)=TRUE,E1="",VLOOKUP(D1,$A$1$B$15,2,FALSE)) 目的はVLOOKUPだけではD1が空白の時にE1にNAMEと表示されるのを 避ける事でした。 そうすうとD1にA列の数字を入力すると、それに対するB列をE1に 表示するようになるのですが、D1が空白の時はB1が表示されて しまってます。  また一旦D1に入力した後、D1をデリートして空白にしてもE1には もとの数値がそのまま表示されたままになってしまいます。 文章で表現している分、かなり分かりにくい説明になってしまって いますが、お詳しい方いましたらアドバイスお願い致します。

  • Excelの関数がうまく使えません。

    Excelで関数がうまく使えません。 「=IF(E2>=2000,200,IF(E2>=1000,100,IF(E2>=500,50," ")))」というのをH列のセルに入力しています。 計算はうまく?いくのですが、偽の場合に空白にしているのに、E列が空白でも200と反映されてしまいます。 ちなみにE列には「=IF(ISNUMBER(D2),(C2*D2)," ")」このような関数を使っております。 H列が空白のときに正しく空白にするにはどうしたらよいのでしょうか? 教えてください。

  • エクセル IF関数 初心者です。。

    A    B   C  D Aさん 9:00  1  9:00 Bさん 10:00 2  9:30 Cさん 11:00 3  10:00 Dさん 12:00 4  10:30 Eさん 9:00  1  9:00 A列氏名 B列時間 C列 B列IF関数 9:00からは1、10時からは2、 11からは3・・・ D列はC列のVLOOKUP関数 1=9:00、2=9:30、3=10:00・・・ そこでお聞きしたいのですが・・ A    B   C  D Aさん 9:00  1  9:00 Bさん 10:00 3  10:00 Cさん 11:00 4  10:30 Dさん 12:00 5  11:00 Eさん 9:00  2  9:30 IF関数を用いて IF(B1>=0.375),1,if(B1>=0.416666666666667),2,IF(B1>=0.458333333333333),3・・・ Eさんが2になるような数式がわかりません。 よろしくお願いします。。

  • エクセルの関数の読み取り方を教えてください。

    エクセルで夜間の出勤時間の管理をしております。 以前在籍しておられた方が作られたようなのですが 関数初心者の私では読解するのが困難なので お教えいただきたく投稿しました。 完成されてる表を掲載できればいいのですが・・・ 関数を掲載させていただきますので その関数の読み取り方をお教えいただければ幸甚です。 A列 日付 B列 始業時間 C列 終業時間 D列 計算用退勤表記 E列 拘束時間 F列 労働時間 G列 深夜労働時間 H列 残業時間 I列 普通勤務 J列 深夜勤務 K列 普通残業 L列 深夜残業 D列 =IF(COUNT(B5:C5)=0,0,C5+IF(C5<=B5,"24:00",0)) F列 =IF(E5-$B$37<0,0,E5-$B$37) G列 =IF(COUNT(B5:C5)=0,0,MAX(0,"5:00"-B5)-MAX(0,B5-"22:00")+MAX(0,D5-"22:00")-MAX(0,D5-"29:00")-$B$37) H列 =IF(F5-$B$38<0,0,F5-$B$38) I列 =IF(D5-B5-H5-G5-$B$37<0,0,D5-B5-H5-G5-$B$37) J列 =IF(I5=0,0,$B$38-I5) K列 =IF(F5-I5-J5-L5<=0,0,F5-I5-J5-L5) L列 =IF(G5-J5<=0,0,G5-J5) 基本休憩時間 2:00(=B37) 所定労働時間 8:00(=B38) 深夜終了時刻 5:00(=B39) 深夜開始時刻 22:00(=B40) 深夜労働時間 5:00(=B41) 当番休憩時間 1:00(=B42) 表の内容はこんな感じなのですが。 これでわかりますでしょうか? 基本の時間は20:00~7:00 です また、万一勤務時間が17:00~4:00の場合 どこの計算式がどのようにわかりますでしょうか? 文字の羅列になって申し訳ございませんが 宜しくお願い申し上げます。

  • IF関数と時間の計算について

    IF関数と時間の計算について      A    B   C 1 出社 8:00  9:00 12:30   2 退社 17:00 13:00 21:15 3 休憩 0:45  0   0:45 4 合計   エクセルで時間管理の練習シートを上記のとおり 作成しました。  ここでしたい処理は、8時間以上の勤務の時には 0:45分の休憩が必要なので、A3やC3に関数をいれて 常に0:45分と表示したいです。A3やC3が空欄のときには 休みなので、空白処理もしたいのですが。  また、B列のように、4時間勤務の時には、休憩がなし なので、0分と表示したいです。  時間の関数が苦手なので、教えてください。  お願いします。

  • エクセル関数で深夜勤務の計算

    エクセルで社内の勤務表を作成しています。深夜勤務の時間計算の関数がわかりません。教えていただけないでしょうか? 条件 1.深夜時間は22:00~05:00 2.始業、終業時間が深夜時間のみになる事もある 3.休憩時間も含めて計算したい。 例 1|   A |  B  |  C |  D  |  E |  F |  G | 2| 始業| 終業 | 再入| 再終|休憩| 実働|深夜 3| 9:00 |23:00 | 2:00 | 6:00 |2:00 |16:00| 宜しくお願い致します。

専門家に質問してみよう