[[20251218014729]] 『「IF関数について』(れお) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) |

| 全文検索 | 過去ログ ]

 

『「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.