この人頭いいなと思ったエピソード

先日、「01:31.0という数値を計算するのにA1,A2のどちらのセルにも対応するようにしたいです」と質問したら「=IF(ISNUMBER(A1),A1,A2)、書式設定はmm.ss.0 とする」と回答していただきました。
が、0:56.8のように0:~で始まる数値だとセルには12:00.0と出、数式バーには1904/2/26 19:12:00と表示され12時間と認識して計算されるようです。
ちなみにこれらは時刻ではなくタイムの引き算です。
0:56.8の場合、秒単位の解を得たいため=LEFT(A1,6)/86400とすると求めたい正解を得られます。

上記2つの関数をうまく組み合わせて機能させる方法はあるのでしょうか?
ご存じの方がいましたら回答よろしくお願いします。

「エクセルの関数に関しての質問です。」の質問画像

A 回答 (5件)

どこから元データを持ってきているのかわかりませんが、誰かが入力したデータなら入力の手間を省くために


「0!:00.0」
などの表示形式にして56.8と入れたら見た目」「0:56.8」になるようにしているのではないかと思われます。
だから実際のデータは時刻(タイム)ではないのでしょう。

貼り付けた後にクリップボード経由でコピペすれば時刻データにはなりますが。
    • good
    • 0

>別に怪しいデータではなく



誰も怪しいとは言ってませんが。
見た目と中身が違っているという話です。
    • good
    • 0

>0:56.8と手入力して標準にすると0.000657407になります



そんなことはわかってます。前に回答してますのでよく読んでください。
    • good
    • 0
この回答へのお礼

度々ありがとうございます。SUMでいいみたいですね。
SUMなんててっきり足し算しか使えないかと思っていました。
こんな使い方もあるんですね、大変勉強になりました。

これ、別に怪しいデータではなくJRAの馬の走破時計(タイム)なんですよね。
ここまでわかればもう一つの問題は自力で解いてみます。
重ね重ねありがとうございました!

お礼日時:2022/10/07 13:49

>「0:56.8」



これ、表示形式を標準にしたら「56.8」になりませんか?
(いや、こっちで試したら「57.8」っぽいんですけどね。)
    • good
    • 0
この回答へのお礼

0:56.8と手入力して標準にすると0.000657407になります。

お礼日時:2022/10/07 13:16

前の質問の時から思ってたんですが、片方がシリアル値で片方が文字列ならSUMでできませんか?(見る時はいつも締め切った後だったんで…少なくとも解決してないときは閉じないでもらえるといいんですが)



=SUM(A1:A2)

>ちなみにこれらは時刻ではなくタイムの引き算です
何から何を引いたら1904/2/26 19:12:00になったんですか?
そもそもタイムの引き算で日付部分がついてくるのが疑問なんですが。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。早合点して解けた!って思って閉じちゃうんですよね。すみません。

計算したいのは赤文字の部分で、貼り付くパターンが①か②なんです。

つまり画像でいえば1行目に貼り付くか、2行目に貼り付くか。これが問題1です。

次にこの「01:31.0」が5桁の場合は=IF(ISNUMBER(A1),A1,A2のままでいいのですが「0:56.8」を貼り付けるとセルには12:00.0と変換され、数式バーには1904/2/26 19:12:00と表示されますので、これは計算結果ではなく「0:56.8」をmm.ss.0 に書式設定変更するとなります。

つまりやりたいことは①1行目2行目どちらに貼り付いても貼り付いた方で計算してもらいたい、②「01:31.0」「0:56.8」いずれのパターンでも表示形式がm.ss.0に対応してほしいということなんです。

説明下手ですみませんがよろしくお願いします。

お礼日時:2022/10/07 12:44

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報