1. A列には数値を入力。
2. B1セルに、=ROUNDDOWN((A1-INT(A1))/0.6,0) を入力。下までコピー。
他の人の質問を見ていて、https://oshiete.goo.ne.jp/qa/10553953.html
10.6 を 11.0(10時間60分)に変換したいらしく、小数点以下の 0.6 を 1 に変換する数式を入力したのだが、「1」になるものと「0」になるものに分かれてしまい上手くいかない。
なぜだ?
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
リンク先を見ました。
私は、VBA専門で回答していますが、関数の質問にはしません。
それで、リンク先には、つけませんが、時間(表示)丸めを利用して、このようにすればよいのでは良いかと思いました。
書式は、[hh].mm (中は点)
=(INT(A1)+RIGHT(TEXT(A1,"00.00"),2)/60)/24
但し、正の値のみ。
-------
『浮動小数点丸め誤差』対処法として、3つの方法があります。
1. ROUND で必要な桁までを四捨五入する方法(小数点第7位以降は通常は不要)
2.テキスト化する方法(固定小数点法と呼ばれる)-FIXED関数やTEXT関数がある
3.整数にする方法。(整数化法と呼ばれる)。計算を整数上で行って、最後に割り算で元に戻す方法。
No.3
- 回答日時:
『浮動小数点丸め誤差』という名前で知られています。
2bit の演算(足し算を含め)では、どうしても、小数点を扱うと誤差が発生してしまいます。だから、こういう場合は、ROUNDで、小数点第6位ぐらいを丸める方法が一般的です。10進では、こういう問題は発生しません。
この話の大本の原因は、Excelを作った時に、Microsoft 社では、おそらくパテントの都合で、他社(=IBM)から貰い受けなかったために起きた問題だろうということでしょう。ほとんどの会社は、この浮動小数点誤差の問題は、対応していたそうですから。
Microsoft 社では、ROUND関数で対処するように言っています。
「Excel で浮動小数点演算の結果が正しくない場合がある」
https://support.microsoft.com/ja-jp/help/78113/f …
=ROUND((A1-INT(A1))/0.6,6)
しかし、また、数字とは別に、時間丸め誤差というものもあります。要するに、表示の時間と中身の数値とは違いますから、時間値をドラッグ・コピーすると、誤差が発生してしまいます。
時間値 小数点を含む数値
10:11 0.42430555556
10:21 0.43125000000
10:31 0.43819444444
10:41 0.44513888889
10:51 0.45208333333
11:01 0.45902777778
11:11 0.46597222222
11:21 0.47291666667
11:31 0.47986111111
11:41 0.48680555556
11:51 0.49375000000
No.1
- 回答日時:
0.6 の場合、{0.6 - int(0.6)} / 0.6 = {0.6 - 0} / 0.6 = 1 であるから rounddown したら 1 になる。
{20.6 - int(20.6)} / 0.6 = {20.6 - 20} / 0.6 = 1
{10.6 - int(10.6)} / 0.6 = 1 のように見えて、実は 0.99999999999999999 であるから、rounddown したら 0 になる。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) シート参照を含む数式を連続コピー 3 2022/12/10 11:42
- Excel(エクセル) エクセルの書式設定の表示形式で設定した文字を文字列としてコピーしたい 1 2022/12/21 10:41
- Excel(エクセル) マクロだと数式が表示される 2 2022/09/10 14:48
- Excel(エクセル) 【再度】Excelの関数について教えてください。 4 2023/07/28 13:06
- Excel(エクセル) エクセルでエラーを無視して一番左側のセルの値を返したい 2 2023/07/27 13:06
- Excel(エクセル) ユーザー定義について質問です。 2 2023/06/28 13:21
- Excel(エクセル) Excelの関数について教えてください。 5 2023/07/28 11:27
- Excel(エクセル) Excelで小数表記をそのまま角度表記にしたい 5 2022/04/04 12:34
- Visual Basic(VBA) 顧客ごとに違う点検案内を作成するマクロ 4 2022/09/16 05:34
- Excel(エクセル) エクセルVBAでセルに表示されているとおりの数値を取得したい(時間の計算結果) 1 2022/03/30 17:52
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
16進数 加算 減算 C言語
-
O(n log n)について2
-
三菱シーケンサ(Aシリーズ)で...
-
EXCELの関数"STDEV(標準偏差)"...
-
浮動小数点数を10進表記するア...
-
ExcelでPC(パソコン)によって...
-
Excel VBAでの数値の計算につい...
-
floatの有効桁数
-
C言語プログラミングにて、arct...
-
三角比の俯角の計算
-
VBAでミリ秒まで出力する方法
-
VB6.0での小数点の扱いについて
-
パソコンで階乗を計算
-
c languageで 簡単な質問があ...
-
ftoa関数の作成
-
時刻の比較
-
VBAでの割り算の余りの求め方
-
ExcelのINT関数の計算結果がお...
-
0.1の10000回の累積
-
4096bitを95種類で表現すると何...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
O(n log n)について2
-
三角比の俯角の計算
-
c languageで 簡単な質問があ...
-
16進数 加算 減算 C言語
-
ExcelでPC(パソコン)によって...
-
VB.net Double と...
-
”/”を使わずに割り算したいんで...
-
ExcelのINT関数の計算結果がお...
-
有効数字について 以前質問をし...
-
floatの有効桁数
-
三菱シーケンサ(Aシリーズ)で...
-
距離から緯度経度を求める方法
-
VBAでミリ秒まで出力する方法
-
EXCELの関数"STDEV(標準偏差)"...
-
除算を使わずに10で割りたい。
-
C言語プログラミングにて、arct...
-
VB6.0での小数点の扱いについて
-
VBAでの割り算の余りの求め方
-
255の2の補数、B'00000001'が-...
-
変換指定子%22-16gの表示...
おすすめ情報
回答ありがとうございました。以下の質問、回答できました。
https://oshiete.goo.ne.jp/qa/10553953.html