[[20191023154741]] 『IF関数 falseの値なのにtrueが返ってくる』(てる) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『IF関数 falseの値なのにtrueが返ってくる』(てる)

初めまして。
勤務表を作成しているのですがどうしてもつまずいている部分がございまして投稿さしていただきます。
まず初めに条件として週5日以上勤務があるときに休日出勤としております。
その際一番長い勤務時間を休日出勤と扱います。
一週間の勤務日数をCOUNT関数を用いて別のセルにだして,MAX関数でその時の勤務時間を出しています。
その際に8時間以上の時の計算と以下の時の計算をIF関数で求めようとしています。休日出勤がない場合の時に空白として出しているのですが、その場合にtrueが返って計算されてしまいます。

セルに入れている計算式

COUNT(C7:C13)...一週間の勤務日数 *COUNTで帰ってきた数値はセルNへ
MAX(H7:H13)...一週間の一番長い勤務時間 *MAXで帰ってきた数値はセルOへ
IF(O24>=1/3,E3*1/3*0.25*24,E3*O24*0.25*24)・・・E3には時給の数値が入っております。8時間以上の場合8時間分の25%アップの給料計算、以下の場合は一番長い勤務時間の給料計算としております。その他の残業、休憩計算、勤務時間の計算はできており、休日出勤も勤務時間に計算されているので25%の金額だけを足してあげればいい状態です。
なにとぞお力添えをよろしくお願いいたします。

< 使用 Excel:Excel2007、使用 OS:Windows10 >


 >休日出勤がない場合の時に空白として出しているのですが
 どのセルを空白としているのだろうか?
(ねむねむ) 2019/10/23(水) 16:43

返信ありがとうございます。
説明不足で申し訳ございません。
セルOに返るようにしています。
セルOに入っている計算式は
=IF(N24>5,MAX(H7:H13),"")
としております。
(てる) 2019/10/23(水) 16:52

 数式も入っていない全くの空白セルは数値との比較時には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

ねむねむさん
それが0を入力してもtrueが返ってきてしまいます。
=IF(N24>5,MAX(H7:H13),"0")
試してみましたがダメでした。
(てる) 2019/10/23(水) 17:46

(笑)さん
ご返信ありがとうございます。
ご教授いただいた計算式でうまいこと行きました。
ありがとうございます。

(てる) 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.