• ベストアンサー

3つを兼ね備えるには E2の計算式は?

(1)風呂掃除を(7:35)B1 に始める予定が7:20(D2)で早めに終わった場合は E2 に 10を表示したい (2)逆に 予定時間をオーバーしてしまったら0を表示したい。 (3)D列が無記入なら、E列には何も表示しない 上記の 3つを満たすには E2にはどんな計算式を入れたら良いですか?

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

  • ベストアンサー
  • SWM5903
  • ベストアンサー率68% (4965/7212)
回答No.2

恐らく、単純に  =IF(ISBLANK(D2),"",IF(B2>D2,10,0)) で済むはずです。 もし、B2とD2の内容が文字列で入力してそれを時間として計算 したいのであれば  =IF(ISBLANK(D2),"",IF(TIMEVALUE(B2)>TIMEVALUE(D2),10,0)) に成ると思います。 もしも、B2とD2に入るデータが文字列か時間数値かわからない 場合は、  =IF(ISBLANK(D2),"",IF(IF(ISNUMBER(B2),B2,TIMEVALUE(B2))>IF(ISNUMBER(D2),D2,TIMEVALUE(D2)),10,0)) で計算できる筈です。 (一応、試してみましたから大丈夫と思います…^^;)

ryujixryuj
質問者

お礼

ありがとうございます。とても参考になりました

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

  • SWM5903
  • ベストアンサー率68% (4965/7212)
回答No.3

ごめんなさい、追記です。 D2に数式(「'」だけを含む)が入るようであれば、ANo1さんの書かれた 様に「ISBLANK(D2)」を「D2=""」に置き換えないと正しく計算出来ません。 単純に空白か時間だけならば良いですがそれ以外が入る可能性が あるのであれば、置き換えてください。

ryujixryuj
質問者

お礼

ありがとうございます。とても参考になりました

全文を見る
すると、全ての回答が全文表示されます。
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.1

=IF(D2="","",IF(D2<=B2,10,0)) といった具合に。 予定ぴったしに終わったときはゼロなら =IF(D2="","",IF(D2<B2,10,0)) といった具合に。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • ポイントを表示したい

    B列に 予定時間 D列は 終了時間 C3風呂掃除が 予定の 7:35より早く終わったら E3に10ポイント C4玄関掃除が 予定の 7:40より遅く終わったら E3に 5ポイント C5トイレ掃除が 無記入なら            E5に 0ポイント を表示する場合 E列にはどんな計算式を入れたらいいですか?

  • エクセル計算

    エクセル計算の質問です。 添付画像の表で・・ A列で始業時間、B列で終業時間を入力すると、C列に差し引きの 就業時間を計算します。 そしてD列には、C列の時間によって基本給を変えて表示するように したいと考えています。 具体的には・・ C列の時間が4時間1分以上の場合は、D列の基本給は7,000 C列の時間が4時間以下の場合は、D列の基本給は3,500 A列B列が無記入の場合は、C列とD列は表示ナシとする。 以上を満たす計算式を教えて頂けますでしょうか? 宜しくお願いします。

  • エクセルの計算式について

    エクセルの計算式について教えて下さい。以下の表があります。 a列とb列は日ごとに変化します。c列は、a/bで計算されます。d列は、bx10をaから引いた値です。e列は前日のeと当日のeの差を表示しています。 x1列は、e列が10以上ならばSを表示する条件式で値を出しています。x2列は、0以下ならばBを表示する条件式で値を出しています。 h列の計算は、x1とx2でBが表示された場合、例えばa列の1/12の18620から1/11の18830を引く計算をし、b列の1/11の1682から1654を引く計算をして、それぞれの解を足します。 また、同様にx1とx2でSが表示された場合には、下記の表のa列1/12の18620から1/21の18760を引き、b列の1/21の1618から1654を引き、それぞれの解を足します。 上記に説明した、それぞれの計算式を教えて下さい。 また、x1とx2は、それぞれaやbの値から導き出される式で日々表示が変わります。ただ、以下の表のようにx1列のように、Sの表示が連続して表示されます。これを、1度Sが表示されると、次の行からはSが表示されないようにする計算式を教えて下さい。 すみません、よろしくご教示下さい。 date      a      b      c  d e x1 x2  h 2000/1/11 18830 1682.0 11.20 2010 -190 B   2000/1/12 18620 1654.0 11.26 2080 70 S 70,000 2000/1/13 18920 1673.0 11.31 2190 110 S 2000/1/14 18850 1654.0 11.40 2310 120 S 2000/1/17 19300 1680.0 11.49 2500 190 S 2000/1/18 19150 1662.0 11.52 2530 30 2000/1/19 18930 1634.0 11.59 2590 60 2000/1/20 19060 1640.0 11.62 2660 70 S 2000/1/21 18760 1618.0 11.59 2580 -80 B -220,000

  • オーバーしたら予想を採用したい

    1/19の掃除が 1:00の作業予定だったのに1:14(E4)もかかってしまった 14分オーバーである。 この場合 K4には、予定の1:00しかカウントしない。 D列をオーバーしたら、K列には、予定(D列)の数字を表示 D列をオーバーしなかったら、K列には、実際(E列)の数字を表示 したいのですが、K列にはどんな数式が必要ですか?

  • エクセルの計算式

        A列  B列  C列  D列  E列 1行   A   2   100       ○○○ 2行   B   2    200 3行   A       200 4行   C        100 5行   A       100 上記表で、B列が空白の時の、A列のAの、C列の合計を(この場合は、300) 例えば、E列の1行目セルに表示させる時の「E1」の計算式が知りたいのですが、よろしくお願いいたします。

  • 給与計算について

    エクセル2000で給与計算をしたいと思っています。 時給は800円なのですが、勤務時間の端数(5分単位)が 30分より短い場合は切り捨て、30分以上だと400円と計算されます。 A列に日付、B列に開始時間、C列に終了時間、D列に勤務時間を入れました。 A列が日付の時、D列は C1-B1 という計算式をいれました。 月毎の合計勤務時間(D列)と合計金額(E列)を求めたいので A列に合計と記入して、 D6にはその月の勤務時間の合計を SUM(D1:D5) を使って計算し、 E6には IF(MINUTE(D6)<30,HOUR(D6)*800,HOUR(D6)*800+400) という数式をいれてみました。  A列が日付か合計かの判別は私自身がして、その行の数式を変えますので、  数式の中に含まれていなくてもかまいません。 このE6にいれた式では1ヶ月の合計勤務時間が24時間を越えた場合、 24時間以上の金額が無視されてしまうので困っています。 過去の質問も検索してみたのですが、勤務時間の端数のことまで 書かれておらず、自力で出した答えはE6の式にIF関数でDAYを確認させるという 恐ろしく長くて、面倒なものでした。 もし、もっと簡単な数式で月毎の金額が求められるようでしたら、教えていただけないでしょうか。 よろしくおねがいします。

  • Excelで勤務時間の計算をしたいです。

    すでに作られている勤務表を前任者から受け継ぎましたが、 すべて手入力しているので関数を使ってもっと効率化を図りたいと思います。 皆様の知恵をお貸し下さい。 出勤時間→B列 退社時間→C列 出勤日数のカウント→D列 残業時間→E列 条件として ・定時は8:00~17:00に対して1時間の休憩をとる。 例:B列   C列  D列  E列   8:00 17:00  1  [空白] ・実働時間9時間を超える場合は残業時間に入れる 例:B列   C列  D列  E列   8:00 18:30  1   1.5 ・実働時間9時間以上の場合は1時間休憩を差し引き実働時間8時間としてそれに対して 出勤日数のカウント「1」 実働時間4時間以下の場合は休憩時間を差し引かずに 出勤日数のカウント「0.5」 実働時間4時間超え、9時間未満のものに対しては休憩時間に関係なく 出勤日数のカウント「1」 (ここが一番厄介な点かと思われます。4時間以内ならカウント0.5、4時間を越えたものはカウント1です。) 例:B列   C列  D列  E列   8:00 12:00  0.5  [空白]   8:00 15:00  1  [空白]   8:00 17:30  1   0.5 ・深夜勤務もあるが、その場合の残業は手動で計算するので、出勤日数のカウントだけでOK 例:B列   C列  D列  E列  23:00  5:00  1  [空白] このような状態なのですが、計算の列などを増やして(あまり増やしたくはないのですが・・・) 関数をいれてある程度自動で計算をさせたいのです。 休憩時間はほぼ1時間と決まっているのであまり列は増やさずに計算させたいです。 簡単な関数は知っていますが、表示形式など詳しいことは分かりません(残業時間1時間半を1.5と表示するなど・・・) ちなみに出勤日数のカウント、残業に関しては1や1.5などの数値を 他の時給計算で使っています。 巧く説明できなくてすみません((汗)) どのような関数を組んだらよいか、ご指導を宜しくお願いします_(._.)_

  • 計算式において

    お世話になります。 なかなかエクセルは難しいです。 B列に品番が50個程度あります。 C列にはその単価を入れました。 D列からM列までは週ごとの納品数を打ち込みます。 D列に個数を入れたら、C列の単価と掛け算して、D列の一番下の行に金額を表示させています。 D60=D1×C1+D2×C2+・・・ これをE列にもF列にも同じことをしています。 ものすごく計算式が長くなっています。 しかもD60の計算式をコピーしてE60に貼り付けても、掛け合わせたい単価がC列ではなくD列となってしまいます。 何かいい計算式を教えて下さい。 よろしくお願いいたします。

  • エクセルで空欄時に計算しない方法は

    皆様こんにちわ エクセルで次のようにして勤務時間を計算しているのですが D列(勤務開始時間)E列(勤務終了時間)F列(実働時間)G列(早出残業時間) 現在G列には次の数式が入っています =IF( MIN( "8:00",E2)>MAX( "4:00",D2),(MIN( "8:00",E2)-MAX( "4:00",D2)),0) +IF((MIN("22:00",E2)>MAX("18:00",D2)),(MIN("22:00",E2)-MAX("18:00",D2)),0) この数式ですとD・E列が空欄の場合G列に8:00が表示されてしまいます。 D・E列が空欄の場合G列に計算をさせない(もしくは0:00と計算)させるには どうすればよいでしょうか

  • エクセル2007の計算について

    エクセル2007の計算についてですが、A列に100個データがあり、B列とC列にそれぞれ1個データがあるとします。そこで、D列のD1にA1*B1-C1の計算結果を表示させました。次に、D2以下も同様の計算をするために、D1のセルを選択して、矢印無しの十字キーを下に伸ばしてD2にA2*B1-C1、D3にA3*B1-C1・・・、D100にA100*B1-C1の結果を表示させようとすると、100個分の計算結果は表示できるのですが、D2はA2*B2-C2、D3はA3*B3-C3・・・というように、B列とC列も一つずつ下がって計算されてしまいます。この場合、B列とC列には1個しかデータがない(B1に一個、C1に一個)ため、D2以下の計算結果は0になります。B列とC列を下げずに、A列のデータだけ下げて連続計算するにはどうすればよろしいでしょうか。

専門家に質問してみよう