[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『ユーザー定義の「ss.000」で矛盾が』(kou)
ものすごく当たり前の事かも知れませんが
納得いかない事があるので教えてください。
数値 0.0000236 をユーザー定義の「ss.000」で表すと02.039となります。
=Second(0.0000236) は、2なので ---> 2秒
=0.0000236-Second(0.0000236) をEXCELで求めると -1.9999764
0.0000236<Second(0.0000236)となりますが
0.0000236は2秒より0.039大きいはずなのに納得が行きません。
私の考える矛盾を解き明かしてもらえますか ?
< 使用 Excel:Excel2021、使用 OS:Windows11 >
と言われてるので、
=0.0000236-Second(0.0000236)
は
0.0000236 - 2 なので、-1.9999764となるのは当然では。
> 0.0000236は2秒より0.039大きいはずなのに納得が行きません。
単位が違いうものをそのまま比較できません。
単位をそろえないと。
0.0000236はシリアル値(1日が1)
Second(0.0000236) は単位が秒
=0.0000236-TIME(0,0,Second(0.0000236))
というようにTIME関数でシリアル値に変換して計算すれば、
00.039になります。(ユーザー定義が「ss.000」のとき)
(hatena) 2023/12/09(土) 11:01:15
ん−、まだ納得できていません。
>0.0000236はシリアル値(1日が1)
これを秒表示(ss.000)では2.039なので2秒より確実に大きいとの意味ではないのですか ?
(kou) 2023/12/09(土) 11:17:25
>=Second(0.0000236) は、2なので ---> 2秒
2「秒」と思うのは人間が勝手にそう思っているだけで、 エクセルからすれば「単なる2」であり、シリアル値としてなら、2「日」です。
2.039秒から2日を引いたら、マイナスになります。
(半平太) 2023/12/09(土) 11:22:54
Secondなのに「日」が単位になるのがさっぱりわかりません。
=Second(0.0000236) ---->2
=Second(0.45489)でも2と表示されます。
この同じ「2」両者の差は何ですか ?
=Second("00:00:02")でも2
(kou) 2023/12/09(土) 11:41:01
>Secondなのに「日」が単位になるのがさっぱりわかりません。
いや、エクセルは、単位には関知しないです。 単位を何にするかは人間の都合で決まります。
0.0000236を2秒と思いたい人は、2は2日と思うべきじゃないですか、と言う話なんですけど。
>=Second(0.0000236) ---->2 >=Second(0.45489)でも2と表示されます。 >この同じ「2」両者の差は何ですか ?
差はありません。 あとは Second関数のヘルプ をお読みいただくしかないです。
(半平太) 2023/12/09(土) 12:12:17
Second()なので単位は、秒では無いのですか?
>0.0000236を2秒と思いたい人は、2は2日と思うべきじゃないですか、と言う話なんですけど。
これ、禅問答のようで私には理解できません。
>差はありません。
同じと言うならこれも私の理解を超えています。
Second関数のヘルプを参照との事ですが
具体的にどこをみれば良いですか ?
以下などを見ても参考になる内容ではありません。
https://support.microsoft.com/ja-jp/office/second-%E9%96%A2%E6%95%B0-740d1cfc-553c-4099-b668-80eaa24e8af1
Second("12:15:45")のような使い方を前提にしているので
シリアル値が小数点が小数点であるような場合は、利用しない方が良さそうだと思えます。
(kou) 2023/12/09(土) 12:52:04
もっと簡単な話で書くとこういうことです。話の筋としては全く同じ話です。
=Time(1,10,0) と入力して、セルの書式を標準にしてみてください。 0.048611111 となると思います。 Excelは、1時間10分を 0.048611111という数値で保持しているということです。 これをシリアル値と言います。(1日の長さを1 とする実数で保持しています。)
同じように、1時間10分と1時間を並べて書くと、 Time(1,10,0) は、 0.048611111 Time(1, 0,0) は、 0.041666667 となります。
この差に相当する10分はシリアル値ではいくつに相当しますか? という質問には、0.048611111 ‐ 0.041666667 と答えるはずですよね。 決して 0.048611111 - 1 とは答えないはずなんです。
そういう話ですよ。 落ち着いて深呼吸してから、皆さんの回答を最初からもう一度読まれたらいかがですか? (こういう話では?) 2023/12/09(土) 13:45:41
0.0000236 は 0時間0分02秒 、 0.45489 は 10時間55分02秒 です。 SECOND関数は、この秒部分を返すので、どちらも2秒となります。
手計算でこのプロセスを見てみましょう. シリアル値では 1=1日です。 時間に変換するには、1日あたり24時間なので、24を掛けます。 0.0000236×24 = 0.0005664 時間 0.4548900×24 =10.9173600 時間 それぞれ時間部分は、0時間と10時間になります。
分に変換するには1時間あたり60分なので、60を掛けます 0.4548900の残りは0.9173600時間なので、これを分に変換します 0.0005664 時間×60 = 0.033984 分 0.9173600 時間×60 = 55.04160 分 それぞれ分部分は、0分と55分になります。
秒に変換するには1分あたり60秒なので、60を掛けます 0.4548900の残りは 0.04160分なので、これを秒に変換します。 0.033984 分×60 = 2.03904秒 0.041600 分×60 = 2.49600秒
以上で 0.0000236 は 0時間 0分02.03904秒 0.4548900 は 10時間55分02.49600秒 であることが計算できました。
0.0000236-SECOND(0.0000236) という計算は意味がなくて、 0.0000236×24×60×60-SECOND(0.0000236) = 2.03904 - 2 = 0.03904 これが1秒未満の秒数です。 (´・ω・`) 2023/12/09(土) 13:57:13
手計算でこのプロセスを見てみると言う大変判りやすい説明で
以下が、時間(H)、分(m)では違うが分(S)では同じ「2」なのも理解できました。
=Second(0.0000236)
=Second(0.45489)
|[A] |[B] |[C] |[D] [4]|0.0000236|この数は、シリアル値を表す (1日=1)| | [5]| | | | [6]| | 0.00056640 |時間|=A1*24 [7]| | 0.03398400 |分 |=A1*24*60 [8]| | 2.03904000 |秒 |=A1*24*60*60 [9]| |(0時間0分02.03904秒) | |
>0.0000236-SECOND(0.0000236) という計算は意味がなくて、
納得、良くわかりました。
>0.03904 これが1秒未満の秒数です。
時間の単位が秒より下がなく
秒までは、分、秒は60進数ですが秒以下は「ミリ秒」では1000進数なので
1000ミリ秒で1秒換算。
今回の例では、39.04ミリ秒となります。
(kou) 2023/12/09(土) 14:46:24
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.