[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『IF関数 falseの値なのにtrueが返ってくる』(てる)
初めまして。
勤務表を作成しているのですがどうしてもつまずいている部分がございまして投稿さしていただきます。
まず初めに条件として週5日以上勤務があるときに休日出勤としております。
その際一番長い勤務時間を休日出勤と扱います。
一週間の勤務日数をCOUNT関数を用いて別のセルにだして,MAX関数でその時の勤務時間を出しています。
その際に8時間以上の時の計算と以下の時の計算をIF関数で求めようとしています。休日出勤がない場合の時に空白として出しているのですが、その場合にtrueが返って計算されてしまいます。
< 使用 Excel:Excel2007、使用 OS:Windows10 >
>休日出勤がない場合の時に空白として出しているのですが どのセルを空白としているのだろうか? (ねむねむ) 2019/10/23(水) 16:43
数式も入っていない全くの空白セルは数値との比較時には0とみなされるが数式で""となっている空白セルは 空文字といって文字列が入っているとみなされる。 文字と数値の比較では文字のほうが大きいとみなされるので O24>=1/3 はTRUEとなる。 (ねむねむ) 2019/10/23(水) 16:57
>セルOに入っている計算式は >=IF(N24>5,MAX(H7:H13),"")
これは O24セルの式? 休日出勤というのは、5日以上の出勤ではなく、6日以上ということ?
>休日出勤がない場合の時に空白として出しているのですが、その場合にtrueが返って計算されてしまいます。
どうなればいいんですか? 空白?
=IF(O24="","",IF(O24>=1/3,E3*1/3*0.25*24,E3*O24*0.25*24)) または =IF(O24="","",E3*0.25*MIN(O24,"8:00")*24)
こういうこと? (笑) 2019/10/23(水) 17:38
(てる) 2019/10/23(水) 17:53
"0"と"でくくると文字列になる。 数値の0と文字列の0は別と判断される。 そういう場合は =IF(N24>5,MAX(H7:H13),0) とすると文字の数字ではなく数値になる。 (ねむねむ) 2019/10/23(水) 19:43
>=IF(N24>5,MAX(H7:H13),0)
↑ の式を O24セルに入れて 休日出勤がない場合、金額も「0」でいいのなら
=IF(O24>=1/3,E3*1/3*0.25*24,E3*O24*0.25*24) ← 要するに元の式 または =E3*0.25*MIN(O24,"8:00")*24
参考まで (笑) 2019/10/23(水) 21:23
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.