アプリ版:「スタンプのみでお礼する」機能のリリースについて

タイムシート風お小遣い計算表を作っています。1日3時間以上お手伝いしたら750円、3時間未満なら500円、0時間なら空欄、という条件で、C列に開始時間、D列に終了時間、G列に休憩時間、H列に稼働時間をそれぞれ入力し、I列にお小遣いの金額を自動計算で表示させるようにしたいのですが、お手伝い0時間の時がきちんと反映されません。
I列のお小遣いの金額欄にこのように入力しました。
=if(H5>=3/24,750,if(H5<=3/24,500,if(H5=0/24,"")))

例えばC5に11:00、D5に16:30、H5は=D5-C5-G5で4:50、でも日曜日は開始時間も終了時間も休憩時間も稼働時間すべて0:00としている(入力忘れと区別するため)のですが、それでもI列のお小遣い欄に500と表示されてしまいます。
このような場合、どうやって条件式を修正したらよいでしょうか。
お知恵をお貸しください。よろしくお願いします。

A 回答 (4件)

=IF(H5>=3/24,750,IF(H5=0,0,500))


とかですかね?

その式だと「0:00は3時間未満の条件に一致」しますので500円になります。
先に評価されたらそこで処理(IFの分岐)は止まります。

なので先に「0:00なら0円」、そうでない(3時間以上ではなく0時間でもない)のなら500円、という式にしました。
まあ、他にもっときれいな書き方がある気がしますが...
    • good
    • 0
この回答へのお礼

ありがとうございます!これで解決できました。

お礼日時:2024/01/22 18:20

こんばんは



既に適切な回答が出ていますけれど・・・

複数の条件で分岐したい場合は、値の小さい順(あるいは大きい順)に整理してから考えましょう。
例えば、小さい順なら
 ・0時間なら 空白
 ・3時間より小さければ 500
 ・それ以外(=3時間以上)なら 750

と考えれば、そのまま順に式にすればよくなります。
(IFS関数を利用するとネストをなくせるので、わかりやすいかもしれません)
 =IFS(H5=0,"",H5<3/24,500,1,750)

※ 大きい順に考えても、同様のことが可能です。
(考え方が異なるので式は変わりますが、結果は同じになります)
 =IFS(H5>=3/24,750,H5>0,500,1,"")
    • good
    • 1
この回答へのお礼

IFS関数…初めて聞きました!初心者なので分からない事だらけです。ご回答、ありがとうございます!

お礼日時:2024/01/22 18:57

条件式を修正して、お手伝いが0時間の場合には空欄を表示するようにできます。

以下は修正例です:

=IF(H5>=3/24, 750, IF(H5<3/24, 500, IF(H5=0, "", "")))


この修正により、H5が0の場合には空欄が表示されます。ご確認ください。
    • good
    • 0
この回答へのお礼

すみません、なぜかうまくいかず…私が書いた元の式がなにかおかしいんだと思います。もう少し触ってみます。

お礼日時:2024/01/22 18:22

難しく考えるからいけないんです。


0時間も3時間以下であることには違いありません。
=if(H5>=3/24,750,if(H5<>0,500,""))
で、お考えの通りの結果になるはずです。
    • good
    • 1
この回答へのお礼

お忙しい中、ご回答ありがとうございました。シンプルに考える練習を先にするべきですね(^ ^;)エクセル関数に苦手意識があるので余計な事をしてしまう癖があるようです。

お礼日時:2024/01/22 18:22

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A