先日出退勤管理の遅刻時間の数式について教えていただいた者です。
教えていただいた数式を活用して早退時間の数式も入力したのですが14列と16列の出退勤時間を空白にした場合添付画像のように早退時間に「900.0」と表示されてしまいます。
C23には「=IF(C25="午後休",IF($G$5>C17,$G$5-C17,0),IF($D$5>C17,$D$5-C17,0))*1440」という数式を入力しています。
数式が間違っているのか何か設定が間違っているのか見当がつきません。
原因についてコメントいただけたら嬉しいです。
よろしくお願いいたします。
No.4ベストアンサー
- 回答日時:
>15行と17行は実際に出退勤表を使用する場合は非表示にするように
>しています。
ということなので、C15、C17が実際にどのよう表示になっているのかご質問者自身もよくわかっていないのではないかと推測しました。
そこで、C23セルに
=IF(C17=0,"",IF(C25="午後休",IF($G$5>C17,$G$5-C17,0),IF($D$5>C17,$D$5-C17,0))*1440)・・・①
あるいは、
=IF(C17=0,0,IF(C25="午後休",IF($G$5>C17,$G$5-C17,0),IF($D$5>C17,$D$5-C17,0))*1440)・・・②
という数式をいれてみてください。
①はC16が空白ならC23に空白を、②はC16が空白ならC23に0を返す意図で作成しました。
goomaniaさん
またまた助けられました。
私自身がわかっていない状態の説明をくみ取って
的確な回答をくださり本当に感謝です!!
また質問を投稿することもあると思いますが
もう少し伝わるように質問を考えようと思います。
本当にありがとうございました!!!
No.3
- 回答日時:
前回のご質問
https://oshiete.goo.ne.jp/qa/13557834.html
でC22セルの数式として
=IF(C25="午前休",IF($G$4<C15,C15-$G$4,0),IF($B$5<C15,C15-$B$5,0))*1440
という数式を回答した者です。
上記数式はあくまでも、ご質問者が掲出された数式を分単位での計算にするだけのものです。
従って、C15セル、C17セル、C25セルの状況についての判断は一切しておりません。
例えば、C15セルが空白の場合、C22も空白、C17セルが空白の場合、C23セルも空白という条件をつけるなら、C22セルの数式は
=IF(C15="","",IF(C25="午前休",IF($G$4<C15,C15-$G$4,0),IF($B$5<C15,C15-$B$5,0))*1440)・・・①
C23セルの数式は
=IF(C17="","",IF(C25="午後休",IF($G$5>C17,$G$5-C17,0),IF($D$5>C17,$D$5-C17,0))*1440)・・・②
となります。
但し、②は、C17セルが空白以外の場合、ご質問者の掲出された数式は正しい結果になっているという前提です。
そもそも空白以外の時、正しい結果になっていないのに、空白の場合のみ修正しても意味がありません。
ご質問者の数式を拝見する限り、C17セルが空白でない場合も正しい結果になるようには見えないのですが、いかかでしょうか?
また、C17に
=(TIME(INT(C16/100),C16-INT(C16/100)*100,0))
という数式を入れているとのことですが、これは時刻を「:」抜き入力で、例えば「10:15」を「1015」と入力している場合に時刻に変換する数式です。
前回の投稿を見ると、C16は「10:00」のように表記されており、変換する意味がないように見えますし、逆にこの数式で変換すると、全て「0:00」になってしまうのではないかと思います。
あるいは、表示形式を「#":"#0」にして「1015」と入力すると「10:15」に見せているということでしょうか?
このように疑問が多数ある状態では、ご質問者の表のセルの内容が不明ですし、どのような結果を導きたいのかよく判りませんので回答のしようがありません。
goomaniaさん
毎回お世話になります。
前回の質問で教えていただいた数式を活用して早退時間を自分で考えようとしましたがなかなか難しく・・
何度もすみませんが頼りにしております。
C17セルが空白以外の場合は正しい結果になるので空白の時が900になってしまうので悩んでいます。
教えていただいた上記の②の数式でもやはり900が表示されてしまいます。
時刻についてですが14行、16行に入力する際に数字4桁で入力できるようにユーザー定義の「0":"00」に設定しています。
また15行と17行は実際に出退勤表を使用する場合は非表示にするようにしています。
説明が下手で伝わらなかったらすみません・・・
No.2
- 回答日時:
こんにちは
>14列と16列の出退勤時間を空白にした場合添付画像のように
>早退時間に「900.0」と表示されてしまいます。
一般的に、縦に連続するセルを「列」、横に連続するセルを「行」と言います。
ご質問の「14列と16列」は「14行目と16行目」という意味ですよね?
また、ご提示の計算式
>=IF(C25="午後休",IF($G$5>C17,$G$5-C17,0),IF($D$5>C17,$D$5-C17,0))*1440
では、14行目も16行目も参照していませんので、ご質問との直接の因果関係はありません。
想像するところ、C17セルにC16(または、C14)セルを参照する式が設定されているのではないかと思いますが、内容が不明なのでよくわかりません。
通常、計算式で参照するセルが空白の場合、0と見做して計算されてしまうことが多いので、(実際のC17セルの内容がわかりませんけれど)空白になっていて、0として計算されているのではないでしょうか?
そのような場合にどうしたいのかについても記載が無いのでわかりませんけれど、ご提示の数式側で対処したいのであれば、C17セルが空白の場合の処理を付け加えれば宜しいでしょう。
例えば、
=IF(C17="","空白の場合に表示したい内容", "現在の計算式")
のようにしておけば宜しいのではないかと想像します。
前回の質問に引き続き
回答してくださってありがとうございます!!
>「14列と16列」は「14行目と16行目」という意味?
おっしゃる通りで行の間違いです。
>C17セルにC16(または、C14)セルを参照する式が設定されているのか?
これもおっしゃる通りでC17に「=(TIME(INT(C16/100),C16-INT(C16/100)*100,0))」という式を設定しています。
わかりやすく表記できてなくてすみません。
補足にも書きましたが出勤時間と退勤時間を空白にした場合に早退時間も空白になるように設定したいです。
No.1
- 回答日時:
C23の値は、
C25に"午後休"が無いから、
IF($D$5>C17,$D$5-C17,0)に1440かけた値。
D5が15:00
C17が空白なので0
IFの$D$5>C17が真になるから、
$D$5-C17に1440かけた値。
15:00は15/24なので、
15/24×1440=900
で、計算式通り。
> 数式が間違っているのか何か設定が間違っているのか見当がつきません。
自分も、何がどうなった時に、いくつになって欲しいのか?分からないので見当つかない。
数式も教えていただいたものだったので自分で深く
理解できていなくてわかりやすく教えて下さり理解できました。
回答してくださってありがとうございます!!
わかりやすく表記できてなくてすみません。
補足にも書きましたが出勤時間と退勤時間を空白にした場合に早退時間も空白になるように設定したいです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 出退勤管理の遅刻・早退時間について 3 2023/08/10 15:33
- Excel(エクセル) Excel関数で日またぎの勤務時間にしるしを立てる 2 2022/04/20 17:22
- Excel(エクセル) WORKDAY関数 4 2023/06/08 13:23
- Excel(エクセル) マクロ/VBAについて教えてください。 10 2022/05/27 12:59
- Excel(エクセル) エクセルの早退時間を計算したいです。計算はうまくいっているようですが… 1 2022/12/26 16:22
- Excel(エクセル) エクセル2019の関数を教えてください。 8 2022/12/16 12:45
- その他(教育・科学・学問) エクセル関数について 2 2022/12/23 08:59
- その他(Microsoft Office) 勤務表のエクセル作成で数式を教えてください。 1 2023/01/17 03:27
- Excel(エクセル) 勤務表ですが、思うように出来ません。 3 2023/05/19 06:43
- Excel(エクセル) TEXT関数(負の値)を集計のため数値に変換したい 5 2022/05/15 23:04
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
エクセル2016でfilter関数がないので、、抜き出す関数をおしえてください。
Excel(エクセル)
-
指定した範囲から、文字A、文字Bの数をそれぞれカウントする数式が知りたいです。よろしくお願いします。
Excel(エクセル)
-
手書き日報にエクセルのデータを重ねて印刷したい
Excel(エクセル)
-
-
4
[大至急!]ExcelSheetFreeの使い方がわかりません
Excel(エクセル)
-
5
Excelが正常に作動しません。解決策をお願いします。 保存していたデータを開くと写真のようにデータ
Excel(エクセル)
-
6
ダウンロードファイルの名称変更
Excel(エクセル)
-
7
エクセルで添付画像のように値を入力する方法はありますか?
Excel(エクセル)
-
8
エクセルで同じ値が連続しているセルに色をつける方法を教えてください。
Excel(エクセル)
-
9
次のような関数が作りたく、どなたかご教示いただけますでしょうか。 *****************
Excel(エクセル)
-
10
Excelに詳しい方、教えていただきたいです。 1つの決まったExcel形式(データは入っていない)
Excel(エクセル)
-
11
Excelについて質問です。
Excel(エクセル)
-
12
VLOOKUPを使って画像のようなExcelファイル①を別のExcelファイル②に、その人ごとに金額
Excel(エクセル)
-
13
下記のような条件付き書式はどうやって設定したら良いのか教えていただきたいです。 180時間を満たない
Excel(エクセル)
-
14
対応するExcelの計算式はありますか?
Excel(エクセル)
-
15
エクセルの数式で教えてください。
Excel(エクセル)
-
16
エクセル 印刷範囲
Excel(エクセル)
-
17
[条件付き書式]について、
Excel(エクセル)
-
18
DBCS関数とは何ぞやッ!
Excel(エクセル)
-
19
Excel マクロでShearePoint先のフォルダ指定
Excel(エクセル)
-
20
エクセルのcountifのワイルドカードについて
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelはなんで先頭の0を消すん...
-
Excel元に戻す方法を教えてくだ...
-
Excelが固まってしまった。
-
エクセルで特定の範囲内から小...
-
Excel 2019 のピボットテーブル...
-
テレビを購入してYouTubeのボタ...
-
Excel2013のF6キー操作について
-
西暦や和暦の表示をyyyymmdd表...
-
【関数】スペースがいくつ入っ...
-
【Microsoft Office Excel Comp...
-
Excelのオートフィル
-
別シートからの文字を変更
-
Excelのセルを飛ばして入力する
-
MOS365 Excel Expert / Excel R...
-
エクセルで指定した日付、店舗...
-
4つのパターンを表示するEXACT...
-
スマートな関数を教えて下さい。
-
【Excel】セル内の時間帯が特定...
-
Excel初心者です。 詳しい方、...
-
Excelで全角を半角にしたいので...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ファイル内にある数字の出現回...
-
Excel関数の先頭に「@」が入っ...
-
エクセルの気味悪い不思議
-
Excel VBAで、実行時にsheet上...
-
表示されている人数だけを数え...
-
他人が作ったマクロの理解
-
Excelの関数について質問です。
-
Excel 集計表
-
エクセル 日時の計算式について
-
Excelの関数に関して質問です。...
-
エクセル:セル内の文字列の下...
-
絞り込み検索
-
エクセルの関数で
-
エクセルの書式設定について教...
-
余分なEXCELファイルに印刷され...
-
VBA 同一シート内での転記の仕方
-
長期休みの関数はありますか
-
Excelの空のセル
-
エクセルで入力してある文を別...
-
Excelのマクロで、セルを結合し...
おすすめ情報
補足します。
ちなみに遅刻時間には「=IF(C25="午前休",IF($G$4<C15,C15-$G$4,0),IF($B$5<C15,C15-$B$5,0))*1440」という数式を入力していても900.0は表記されません。
出勤時刻と退勤時刻を空白にしたときに23行目の早退時間を空白になるように設定したいです。
親切な方よろしくお願いいたします。