『「IF関数について』(れお)
お世話になっております。
先日、質問させていただき、対応方法をご教示いただき解決できたのですが、細かな点で新たに問題が発生しました。
(過去質問)投稿
[[20251205205146]] 『関数で抽出し、比較することは可能でしょうか』(れお)
A B C D H
1 日付 出勤 退勤 備考
2 12/1 9:30 9:45
3 12/2 9:30 22:15 出社修正-早出(9:30〜) 申請なし
4 12/3 11:30 19:45 出社修正-早出(9:30〜)-残業(〜19:45)
<求めたい結果>
退勤時間(C列)が22時以降の場合、備考欄に残業の文字が含まれていれば、H列は空白とし、
含まれていなければ「申請なし」としたい。
現在、H列には以下を入力しております。
IF(TEXT(C2,"[h]:m")>="22:00:00",IF(COUNTIF(D2,"*残業*"),"","申請なし"),"")
12/1は、22時以前に退勤(15分のみ勤務し、早退)したため、H2セルは空白という結果を求めたいのですが、上記関数では「申請なし」という結果が返ります。
試しに12/1の退勤時間を10:00(午前10時)とすると、H2セルは空白となり正しい結果が返るのですが、上記関数のどの部分が誤っているか分かりません。
なお、12/1以外については正しい結果が返っております。
関数の不備をご指摘いただけないでしょうか。
< 使用 Excel:Excel2013、使用 OS:unknown >
>上記関数のどの部分が誤っているか分かりません。 「数式」- 「数式の検証」 でステップごとに調べれば、どこで想定からはずれたのか分かるはずですが。
(xyz) 2025/12/18(木) 07:18:21
>IF(TEXT(C2,"[h]:m")>="22:00:00"
これは文字列同士の比較になっている。 文字列の「9:45」と「22:00:00」を比べると、 最初の1文字「9」と「2」を見て「9」の方が大きく、条件が成立する。
H2:=IF(C2>="22:00"*1,IF(COUNTIF(D2,"*残業*"),"","申請なし"),"")
として、数値の比較に変更してみたら? (おそ松さん) 2025/12/18(木) 09:32:17
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.