条件1.コアタイムは21時から1時だが、早出残業も発生
条件2.開始時刻はA1セルに22:00と入力、終了時刻はB1セルに2:00と入力し、
C1セルは勤務時間を時刻ではなく、
数値(2:30に終了したときは4:30ではなく、4.5)を表示させたい。
様々な数式を試し、偶然にも?下記の時に、正しい数値を求めることができました。
A1セル 22:00 (表示形式時刻)
B1セル 1900/1/1 2:30 (表示形式時刻でセル上は2:30と表示)
C1セル =IF(OR(A1=""),0,(B1-A1))*24 (表示形式数値で小数点第一位まで表示)
B1セルになぜか1900/1/1も入力すると正しい数値が求められます。他の年月日を色々と試しましたが、C1の数値は正しくなりませんでした。
誤入力を防ぐためにも、B1セルには時刻(2:30)だけを入力したいと考え、
1900/1/1を入力しない方法(C1セルの関数式の見直し)はありますでしょうか?
また、なぜ1900/1/1もあると正しい数値が求められるのか、お分かりになりますでしょうか?
No.4ベストアンサー
- 回答日時:
こんばんは!
「シリアル値」なるものを検索してみてください。
シリアル値とは 1900/1/1 を「1」として1日増える毎に「1」ずつプラスします。
ちなみに今日(11/29)のシリアル値は「43433」という整数になります。
そして小数点以下の数値が「時刻」扱いになります。
どこか使っていないセルに「12:00」と入力 → セルの表示形式を標準にしてみてください。
「0.5」という表示になるはずです。
質問文にある
>B1セルになぜか1900/1/1も入力すると・・・
とは 1900/1/1 2:00 のように入力した場合のセルの表示形式を標準にしてみてください。
1.08333・・・
となっていますよね。
結局 A1セルに 22:00
B1セルに 2:00 と入力しただけでは
「0.08333・・・」という数値から「0.9166・・・」という数値を引くことになり、
結果そのものがマイナスになってしまいます。
この場合、Excel的には「表示不可能」というコトで「####」だけが表示されてしまいます。
一番簡単な方法としては
夜中の「2:00」 の場合 → 「26:00」のように入力すれば解決します。
どうしてもそのまま 「2:00」のように入力したい場合は少し手間をかけてやる必要があります。
C1セルの数式を
=B1-A1+(B1-A1<0)
としてみてください。
これは B1-A1の結果がマイナスの場合はその計算結果に「1」をプラスする!という数式になります。
これで時間表示はできるはずです。
>4:30ではなく、4.5
というコトなのでそれも考慮すると
=ROUND((B1-A1+(B1-A1<0))*24,1)
といった感じでしょうかね。
※ 小数点以下第二位を四捨五入し、小数点以下1桁表示にしていますので、
結果が中途半端な時間
例えば計算結果が 4:45 とか 4:50 でも 4.8 と表示されます。
返事が遅れて申し訳ありません。
回答された式で、問題が解決しました。
ありがとうございます。
シリアル値は面倒くさそうなのでスルーしていましたが、関数式を使用する以上は、理解しておかなければいけないものなのですね。
No.3
- 回答日時:
1日以内なら、
=IF(A1="",0,IF(B1<A1,1+B1-A1,B1-A1))*24
で書式フォーマットを数値にすれば良いと思います
数値の大小を見ているだけなので、甘い判定だと思いますが
No.2
- 回答日時:
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルの関数式を教えてください。 2 2022/11/29 21:09
- Excel(エクセル) エクセルVBAでセルに表示されているとおりの数値を取得したい(時間の計算結果) 1 2022/03/30 17:52
- Excel(エクセル) エクセルで、 A1セルに「A」という値、 B1セルに「B」という値が入っています。 どちらも表示形式 5 2023/02/22 23:05
- Excel(エクセル) Excel 関数 数式 について 2 2022/09/02 21:45
- Excel(エクセル) Excelについて A1からA12まで、1月〜12月と入力し、 B1からB12の範囲に、C1とD1に 4 2022/05/26 22:48
- Excel(エクセル) 【再度】Excelの関数について教えてください。 4 2023/07/28 13:06
- Excel(エクセル) 入所時間(A1)と退所時間(B1)をセル(C1)に片方だけ表示したい 4 2022/10/13 20:59
- Excel(エクセル) エクセルでIF関数中にIFERROR関数を使いたいのですが???? 5 2022/04/08 13:24
- Excel(エクセル) Excelの関数について教えてください。 5 2023/07/28 11:27
- Excel(エクセル) エクセルの書式設定の表示形式で設定した文字を文字列としてコピーしたい 1 2022/12/21 10:41
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで10進法から60進法に...
-
エクセルマクロ セルをクリック...
-
最大値のあるセルの行番号のみ...
-
エクセルでセルのフォントサイ...
-
Excel:長い文字列が途中で切れる
-
Excelで数値を右詰めでセルに一...
-
EXCELで日付を入力すると...
-
【Excel】枠をはみ出して表示さ...
-
エクセルで、賞味期限を、製造...
-
エクセル2007で あるセルをク...
-
ExcelからPDF文書の特定ページ...
-
excel 図形に入れたテキストや...
-
【キーボード】母音しか打てない…
-
至急です! iPadでも、ExcelやW...
-
エクセルで英数大文字のみの入...
-
マンション名のローマ数字入力...
-
Windows10。背面にあるウィンド...
-
最大化したウインドウの最下部...
-
Windows10 IME 変換候補の順番...
-
Excelで、文字の上に○を重ねる方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで10進法から60進法に...
-
エクセルマクロ セルをクリック...
-
Excel:長い文字列が途中で切れる
-
最大値のあるセルの行番号のみ...
-
Excelで数値を右詰めでセルに一...
-
エクセルでセルのフォントサイ...
-
ExcelからPDF文書の特定ページ...
-
エクセルで隣のセルに一月プラ...
-
excel 図形に入れたテキストや...
-
EXCELで日付を入力すると...
-
【Excel】枠をはみ出して表示さ...
-
Chr(10)とCHAR(10)は同じ意味で...
-
エクセル #### 表示させ...
-
エクセル 入力した文字が隣の...
-
EXACT関数とIF関数の組み合わせ...
-
■Excel 1つのセルにある生年月...
-
Excel ハイパーリンクによる非...
-
[最近使った関数]をリセットす...
-
エクセルの数式で教えてください。
-
エクセルの関数が分かりません
おすすめ情報
上記のWeb式では、C1は数値の4.5にならないと思いますが