- ベストアンサー
EXCEL IF関数 時間の把握
EXCEL IF関数 時間の把握 解説書やヘルプを見てもわからないので、ご存じの方、ぜひ教えてください。 賃金(時給)の計算をしています。 (1)一日8時間を超えると、時給25%増しになります。 そこで、一日の労働時間を8時間以内と8時間超に分けて 表を作りたいのですが、うまくできません。 どうしたらできますか? (2)IF関数を使うとき、「以上」「以下」というのは、どのように表せばいいのですか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
≦ は <= ≧ は >= このように使います。 A1セルに勤務時間が入力されているとすると、8時間以上ならば "8:00"<=A1 などと示す事ができます。 IF関数を使って示すなら =IF("8:00"<=A1,1.25,1) で、給与の乗率を決めることができます。 ここで時間を "8:00" と文字列で示すのは、Excelが時間形式の文字列を時間と見なして計算を行うことを利用たものです。 このほうが人が見た時も分かりやすいですからね。
その他の回答 (2)
- kurosansan
- ベストアンサー率30% (44/144)
Excelの関数は得意ではないのですが、 こんな感じで如何でしょう。 ●前提 セルC1に、8時間以内の時給 セルD1に、8時間を越えた場合の時給を入力 セルB列の書式を時刻として、8:00 の形式で入力するとする。 ●式 上記前提の下、 セルC2に以下の関数を書く。 =IF(B2>TIME(8,0,0), 8*$C$1+(B2-TIME(8,0,0))/TIME(1,0,0)*$D$1, (B2-TIME(8,0,0))/TIME(1,0,0)*$C$1) セルB2に 労働時間 8:30 と入力すると、対応する給料がC2に出ると思います。 Excelの場合は、日付や時刻についてシリアル値で認識しており、それで計算を行っています。 8時間を越えるということで、B1>8 というように記載しても、 時刻で入力していれば、システム的にはシリアル値で計算しているので、 B1>8では正しくありません。 なお、IF関数で、以上、以下は、>= や<= で良いと思います。 どのような表を作りたいのか良く判りませんので、 的外れかもしれませんが、よければ参考にしてください。
お礼
詳しい回答をありがとうございます。 ?TIME”というものを使うんですね。 >>8時間を越えるということで、B1>8 というように記載しても、 時刻で入力していれば、システム的にはシリアル値で計算しているので、 B1>8では正しくありません。 そうなんです。まさしくこのようにやっていました。 計算できないわけですね。 参考にさせていただきます。
- edomin7777
- ベストアンサー率40% (711/1750)
(1)については、入力の条件をもっと詳しく書いていただかないとどうしようもありません。現状が判らないので「うまくいできません。」とだけ書かれても判断しようがないからです。 ※開始時間、終了時間、休憩時間とか8時間を超えた分だけが25%増になるのか、時間は分単位で計算するのかとか…。 (2)については、「≧」や「≦」は使えませんので、かわりに「>=」と「<=」を使います。 例:セルA1が5以上だったら、 =IF(A1>=5,○○,××) 例:セルA2が3以下だったら、 =IF(A2<=3,○○,××) 例:セルA3が8以上12未満だったら =IF(AND(A3>=8,A3<12),○○,××) のようになります。
お礼
(1)について 質問の仕方が、わかりにくくてすみませんでした。 次回から気をつけます<(_ _)>。 (2)について >>例:セルA3が8以上12未満だったら =IF(AND(A3>=8,A3<12),○○,××) のようになります。 ANDを使うと、●以上○未満 なんてことも条件づけられるんですね! 初めて知りました。 回答をいただき、ありがとうございました。
お礼
回答をいただき、ありがとうございました。 >> "8:00"<=A1 / =IF("8:00"<=A1,1.25,1) こんなにシンプルに表すことができるんですね(^^) びっくりしました。 EXCEL関数を使いこなせるようになるには、まだまだ時間がかかりそうです…