• ベストアンサー

エクセルの計算式(関数)を教えて下さい。

残業時間をポイントに置き換えて、基本給から算出した金額をポイントとかけて残業手当の計算をしています。 17時30分~17時59分までが0.5 18時~18時29分までが1 18時30分~18時59分までが1.5 19時~19時29分までが2 19時30分~19時59分までが2.5 上記の時間帯を分かりやすく表を作って、タイムカードと照らし合わせてポイント数を出していますが時々間違うことがあります。 その日一日の退社時間をセルに入力すれば、表から検索したポイントを取り出して、1カ月の集計が出来るようにしたいのですが。 よろしくお願いいたします。

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

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

とりあえず、C1~D7に次のような表を作ります。   C   D 1 0    0 2 17:30   0.5 3 18:00   1 4 18:30   1.5 5 19:00   2 6 19:30   2.5 7 20:00  0 A1セルに退社時間を入力するとして、 B1セルに次の式を入力します。 =VLOOKUP(A1,$C$1:$D$7,2,TRUE) これで、B1セルにポイントが表示されると思います。 17:30以前と20:00以降は0を表示します。 後は、B1セルの式を下に31日分コピーしていき、 A列に毎日の退社時間を入力するようにして、B列を合計すれば、一ヶ月のポイント数が計算できると思います。

kokura
質問者

お礼

ありがとうございました。 さきほど、やってみましたら出来ました。本当にありがとうございました。感謝!!!

その他の回答 (2)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.3

FLOORと、A1-"17:00" の両方で、浮動小数点丸め誤差が発生する可能性がありますから、いわゆる小数点固定法で処理しました。 =FLOOR(FIXED((A1-"17:00")*1440)*1,30)/60 小数点を含む計算で、FLOOR関数は、そのまま用いることができません。時間を、フィル・ドラッグしても誤差が発生します。

kokura
質問者

お礼

すばやい回答ありがとうございました。 関数の使い方、勉強になりました。

  • asfd
  • ベストアンサー率21% (25/117)
回答No.1

セルA1に時刻を入れるとします。 で、A1に「17:59」と入っているとすると =FLOOR(A1*24-17,0.5) 上の計算式で一応質問どおりのポイントが出ます。 実際には17:30~19:59以外の時刻を入力したらエラー表示したりする必要もあると思いますが。

kokura
質問者

お礼

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

関連するQ&A