
現在、下記のような数式で3桁ないし、4桁の数字を時間に換算しています
=IF(OR(M2=0,M2="__:__"),24,(LEFT(M2,LEN(M2)-2)&":"&RIGHT(M2,2))*24)
対象のセルが0、もしくは未入力の場合表記される「__:__」という場合は24と表示するようにしています。
ここで問題が起きたのですが、0時01分~0時59分の場合、1~59の1桁ないし2桁の数字で出てしまうので
上記数式を適用するとエラーがでてしまうのです。
エラーをださずに例えば0時30分とかであれば24.5と表示されるようにするにはどのようにするのがベストでしょうか?
No.6ベストアンサー
- 回答日時:
=TEXT(M2,"00!:##")*24
入力 結果
30 -> 0.5
2430 -> 24.5
--------------------
=TEXT(M2+2400*(INT(M2/100)=0),"00!:##")*24
入力 結果
30 -> 24.5
2430 ->24.5
2830 ->28.5
いつもお世話になっております。
とてもスマートな計算方法で衝撃的です!
まだきちんと内容を把握できてないので勉強させてください。
今回、0と入力なしの場合にエラーが出ないようにしたいので
元々の式を流用する形で解決としましたが
こちらの式もきちんと理解すればエラー回避ができると思うので
少し試行錯誤をして取り込んでみようと思います。
ご回答ありがとうございました。
No.5
- 回答日時:
=IF(OR(M2="",M2="0",M2="__:__"),24,IF(VALUE(LEFT(M2,LEN(M2)-2))=0,24,LEFT(M2,LEN(M2)-2))+RIGHT(M2,2)/60)
上のような式を使った場合、《M2のセルが文字列指定の書式》ならば
下の画像のような結果になります。
ただ、このような式は無理矢理そう表示させているだけなので、あまり汎用性はないです。
M列には、本日?の午前1時以前 or 1時間より短時間の45分間 等は入らないのですか。 使い方や入力範囲が分からないので、想像するだけですが、上のような数式もなんか無理矢理ですし、感心しません。

仰るとおり、どうもスマートではないといいますか、無理矢理という部分は否めないと思います。
今回は、こちらの式を流用する形で解決することにしましたが
もう少し勉強をし、汎用性のある式を作れるよう
勉強をしていきたいと思います。
ご回答ありがとうございました。
No.4
- 回答日時:
M2のセルは、文字列として3桁または4桁の数字または「__:__」が入って
いるのですか?
とりあえず、3桁または4桁の文字列としての数字としてなら、以下の式
を使って「030」を「24.5」にすることはできます。
=(MID(TEXT(M2,"0000"),1,2) & "." & MID(TEXT(M2,"0000"),3,4))*24
このままでは小数点表示になりませんので、[セルの書式設定]を開き
[表示形式]を[数値]にして、[小数点以下の桁数]を指定しておきます。
あとはIF関数やOR関数で何とかなりませんか?
返答が遅くなってしまい申し訳ありません。
今回は元々の式を使って解決することにしましたが
こちらでご提示いただいたものの方がよりスマートにできそうなので
今後の参考にさせていただければありがたいです。
ご回答ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excel 特定セルの数値を参照したセルの0表示が空白にならないのはどうしてか? 3 2022/04/28 22:23
- Excel(エクセル) エクセルの関数に関しての質問です。 5 2022/10/07 11:17
- Excel(エクセル) Excel について <TIMEVALUE> 3 2022/10/20 15:57
- Excel(エクセル) Indirect関数について、Formulatextで抽出した数式を参照したい。 1 2022/12/15 11:16
- Excel(エクセル) VBAで “:” を含むセルの特定 2 2023/05/11 16:30
- Excel(エクセル) マクロ/VBAについて教えてください。 10 2022/05/27 12:59
- Java コンソールから所属財産を入力(単位:万円 1000~100000以内でIntegerに変換できない場 2 2022/05/31 21:32
- Excel(エクセル) 関数を用いて表示したセルの内容を、見えている形でコピーする方法 2 2022/09/14 16:36
- 会計ソフト・業務用ソフト Excel IF構文内の計算式を有効にする方法 2 2023/03/22 11:27
- Excel(エクセル) Excelで数式をそのままコピーしたい どうすればいいですか? 4 2022/09/16 02:16
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルでの計算式で求められ...
-
エクセルのセル内の余白の設定...
-
エクセルで数式を入れても値が...
-
エクセルの計算式の後に、単位...
-
エクセル 桁を増やす方法
-
EXCELで日付と時刻が入ったセル...
-
【Excel】 特定セルだけに「ゼ...
-
エクセルで折り返しと縮小の同...
-
Excelで 分:秒 と表示させる...
-
スプレッドシートのセル内、折...
-
エクセルで日付が逆に登録され...
-
数字の後ろにピリオドを表示す...
-
エクセルの計算結果を()括弧で...
-
エクセルで、書式設定をして表...
-
エクセル 条件付き書式で文字...
-
エクセル 小数点の数を○分○秒に...
-
EXCELでセル内に打った文字が隠...
-
エクセルの分数表示
-
エクセル セル幅は広いのにシャ...
-
Excel &で他セルを参照させた...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルのセル内の余白の設定...
-
エクセルでの計算式で求められ...
-
エクセルで数式を入れても値が...
-
エクセルで日付が逆に登録され...
-
エクセルの計算式の後に、単位...
-
Excelで 分:秒 と表示させる...
-
エクセル 桁を増やす方法
-
【Excel】 特定セルだけに「ゼ...
-
エクセルで折り返しと縮小の同...
-
エクセルの計算結果を()括弧で...
-
エクセル 条件付き書式で文字...
-
エクセルで 何時間何分と表示...
-
EXCELでセル内に打った文字が隠...
-
EXCELで日付と時刻が入ったセル...
-
数字の後ろにピリオドを表示す...
-
エクセルで西暦に変更できない
-
Excelに「隠し文字」のような機...
-
エクセルで、書式設定をして表...
-
エクセル セル幅は広いのにシャ...
-
セルの書式設定で一部のフォン...
おすすめ情報
短時間でこれだけの方に答えて頂けるとは思っていませんでした。
遅くなり申し訳ありません、そしてありがとうございます。
もう少し具体的にお話させていただきますと
出勤時間と退勤時間から拘束時間を割り出すために今回のようなことをしています。
データの出力がテキストファイルベースでしか出来ず
時間に関しては以下のような形で出てきます。
9:00 ⇒900
15:15⇒1515
0:25 ⇒25
0:01⇒1
0:00⇒0
入力なし⇒ _:_
M2の部分には上記の右側のような形で出てきます。
試行錯誤しているうちに加えて問題がでてきたのですが17時出勤で26時退勤の時は
26ー17=9 といった形で拘束時間を算出したいと考えております。
まだ皆さんの回答に目を通しきれていませんので頂いた答えを読み解きつつ
試行錯誤してみようと思います。
お礼など少々遅れるかもしれませんがご了承下さい。
皆さんの回答をみつつ考えていたのですが、
そもそも、出勤時間と退勤時間で式をわけるべきでした。
根本的に考え直す必要があるようです。
もう一度よく考えた上で改めた質問と、今回のお礼をさせていただきますので
少々お時間を下さい。申し訳ありません。
退勤時の情報として、24時を回る場合は隣のセルに『翌』という文字があることを確認できました。
ですので、数字の隣のセルに以下の式を入力しました。
=IF(O2="翌",P2+2400,P2)
そして、その結果に対して最初の式を適用する形で解決するに至りました。
回りくどく、とても汚い、その場しのぎの解決策となりましたが
今回、頂いた回答を参考によりいいものを作れるよう勉強しようと思います。
ご回答いただいた皆様、本当にありがとうございました。