A1とB1に 「0:30」が入っています。それぞれ別の集計方法で出た数字です。
しかし、A1=B1 で Falseという結果が出ました。
シリアル値を確認すると以下のように相違するのが確認できました。
A1:0.0208333333333333
B1:0.0208333333333334
末尾の3と4の違いは何でしょうか?
また時刻形式などシリアル値を理解してない人にも伝わる形で、同一でないことを示せる表示形式などないでしょうか?
例えば、秒の桁数を増やすとか。
同一時刻であることをTRUEにてチェックしたいのにFALSEが出ると困るので、TRUEになるための関数などでの加工はできないでしょうか?
Excelでなく手動で計算するといずれも「0時間30分」なので結論は同一ですが、
Excelの都合上、相違してしまっているのは分かりますが、実際の時間計算上狂わさせずに同一にまるめたいです。
A 回答 (12件中1~10件)
- 最新から表示
- 回答順に表示
No.12
- 回答日時:
> 日付にも時間にも桁区切り数値にも表示させられるし、
> 計算にも使用できてるのに文字列にしている、、、分かりづらいですね。
それはtext関数とは別に、Excelが数字の並んだ文字列を勝手に数値に変換する場合としない場合があるわけです。sum関数やsumproduct関数やaverage関数は変換せず無視するけど、max関数やmround関数は勝手に数値に変換します。text関数の結果が数値じゃないのはisnumber関数で確認すればちゃんとFALSEになるので明確です。
No.11
- 回答日時:
》 A1とB1に 「0:30」が入っています
》 末尾の3と4の違いは何でしょうか?
A1とB1は誰が入力しましたか?
貴方がそうなら、A1とB1の入力の違いは何でしょうか?
No.10
- 回答日時:
microsoftのページから引用します。
The TEXT function lets you change the way a number appears by applying formatting to it with format codes.
書式を設定して表示を変更する。
文字列の定義が#9とは違うようです。
文字列どうしの足し算はできますか?
='1+'1
これはエラーですが
=TEXT(1,"#")+TEXT(1,"#")
は2です。これに1を足せば(=TEXT(1,"#")+TEXT(1,"#")+1)、3になります。text関数の結果が文字列だというならこれらはエラーになるべきですがなりません。text関数の結果は数値です。
ただtext関数で変換してしまうとわけがわからなくなることがあるので、text関数の結果で計算するのは避けた方がいい(避けるべき)です。
たとえば1.236をtext(1.236,"#.##")とすると表示は1.24になります。これは文字列ではなく数値ですからこれに0.1を足すと1.34になります。表示されなかった桁は消えてしまいます。roundと同じです。
ということでtext関数の結果は文字列ではありません。
ありがとうございます。
計算のできる値にはできるけど、
厳密には「丸められてはいない」(見た目の表示に騙されてはいけない)
という事ですね。
No.9
- 回答日時:
xs200さんのNo.8の回答は間違ってるので読まなくていいです。
text関数の結果は「文字列」です。表示形式を適用して文字列を生成してますから、計算上の微小な誤差は表現されず消えてしまいます。ちゃんと桁の揃った文字列になってれば比較は可能ですよ。mround関数との違いは、数値として比較しているか文字列で比較するかですから、mroundの方がマジメっぽいですね。
text関数を調べると、確かに「テキストに変換する関数」とあります。
しかし、日付にも時間にも桁区切り数値にも表示させられるし、計算にも使用できてるのに文字列にしている、、、分かりづらいですね。
mroundじゃないといけない説明があると区別できる気がするのですが。。。
No.8
- 回答日時:
まだ締まってなかったので回答続き。
text関数は文字列を返す関数ではありません。表示形式を指定する関数ですから数値をtext関数に入れて時間表示にしても中身は数値のままです。12345をtext関数で"#,#"にすれば12,345という表示になった数値です。文字列ではありません。
No.6の繰り返しですが
a1に0:0:6, a2に0:0:5, a3に0:0:1
をいれてb1から順にtext(a1,"hh:mm:ss")とします。
=b1-b2-b3=0
とすればFALSEになります。text関数を使っても結果は同じことです。丸めるしかなく
=round(b1-b2-b3,5)=0
にすればTRUEです。
日付であれば整数ですから
2024/9/1をtext関数でyy/mm/ddにして計算しても正しい結果になります。
2024/9/1 =text(a1,"yy/mm/dd")
2024/9/2 =text(a2,"yy/mm/dd")
=b2-b1=1
はTRUEです。
等しいか判断するには数値を丸めて比較するしかありません。
No.7
- 回答日時:
なにしろExcelの数値は15桁しか有効桁数がないので、10分が0.00694444444444444444……と無限に続くはずが15桁に丸められてしまって0.00694444444444444しかありません。
で、20分ならどうなるかというと、0.013888888888888888……と無限に続くはずがやっぱり丸められてしまって0.0138888888888889になるわけです。こういう誤差が微妙に蓄積したり打ち消しあったりした結果が質問の誤差ですね。仕方がないので、たとえば1秒単位で丸めるなどしましょう。
=mround(元々の集計の数式, "0:00:01")
これで同じになるはずです。
ありがとうございます。
セルの見た目が両方とも「0:30」であったとしても、
その結果になる経緯が、どういう足し引きが行われてたかによって、
・・・3333000
・・・3334000
になり得るって事ですね。
皆さんから教えて頂いた、丸める関数がmroundですが、
text関数でも良いんじゃないかと思い、違いがはっきり分かりません。
text関数は文字列だと仰りますが、"hh:mm:ss"の結果は、計算に使えるのでmroundじゃないといけない理由が未だ不明です。。。
No.6
- 回答日時:
>1.2-1.1-0.1=-1.38778E-16
が理解できません。
Exceで=1.2-1.1-0.1と入れればわかることです。0にはなりません。
ほかにも=4.8-4.7-0.1は-3.60822E-16になります。0にはなりません。
シリアル値の方がわけわからないと思いますが、たとえば
a1に0:0:6, a2に0:0:5, a3に0:0:1
をいれてa4に
=a1-a2-a3=0
とすればFALSEになります。6秒-5秒-1秒=0秒ではありません。
・余分な桁は捨てる
・誤差として影響のない数の差は無視する
に
・すべて整数で計算する
を加えておきます。
6-5-1なら必ず0です。秒未満がなければすべて整数で計算できます。
やればわかることなので理解できないではなくやってみてください。
Excelのバージョンは
Microsoft® Excel® 2021 MSO (バージョン 2408 ビルド 16.0.17928.20114) 64 ビット
でやってます。バージョンにより差があると思います。
ありがとうございます。
実際にExcelで、
=1.2-1.1-0.1 を試してみて分かりました。
不思議ですね。
「1.2-1.1」の結果は「1.0」ですが所数のけたを増やしていくと
「0.999999999999」になりました。
Excelの問題でしょうか?
1.2-1.1-0.1=0 にならない理由って説明可能なのでしょうか?
シリアル値は1900/01/01を基準としているって事で何となく分かった気ではいます。
No.5
- 回答日時:
桁数は有限なので誤差が出る前提で計算しないといけません。
丸めてない数のイコール計算なんてこわくてできません。・余分な桁は捨てる
・誤差として影響のない数の差は無視する
たとえば
=1.2-1.1=0.1
これはFALSEです。1.2-1.1=0.1ではありません。
1.2-1.1-0.1=-1.38778E-16
これを説明すればシリアル値を理解していない人にも誤差がでるのは理解してもらえるのでは?
この例ではroundを使うか、1.2と比べて計算に影響のない0.01と比較するabs(1.2-1.1-0.1)<0.01とでもすればTRUEになります。
すみません
1.2-1.1-0.1=-1.38778E-16
が理解できません。
シリアル値の方が分かりやすいと思ってしまうのですが、
何か気づかせてくれると嬉しいです。
No.4
- 回答日時:
> MROUND(A1,"0:0:1") → TEXT(A1,"hh:mm:ss") でも良いかなと思いました
これだと、数値ではなく文字列になってしまいます。
No.1の私の回答でVALUE関数でくくっているのは、数値化して、そのあとの計算にも使えるようにするためです。
ありがとうございます。
私の方が理解が浅いのですが、
TEXT(A1,"hh:mm:ss") のセルが”0:30:00”となっている時
「=そのセル*2」で"1:00:00"になりますし、
書式設定でシリアル値にもなりましたので、
文字列ではなく数値に思えるんですよね。
MROUNDやTEXTの結果はいずれも同様の計算が出来たのでイマイチ違いが分かりません。
また、文字列になっているセルを、日付や時刻や数値に変換するのがTEXT関数ではないでしょうか?
私の理解が不足していたら教えて頂けると幸いです。
No.3
- 回答日時:
計算で得た結果とのことなので、計算誤差の累積でしょう。
方法としては、
案1:秒単位に丸めるなどして同一にする
案2:細かい桁では異なることを時刻形式のままで、なんとしても相手に伝えたい場合は、ミリ秒とかマイクロ秒まで含んだ時分秒形式で10進数文字列化する。ミリ秒までなら、セルの表示書式設定で「h:mm:ss.000」にすればよいですが、マイクロ秒だとExcelの標準機能では無いはずなので独自に計算や文字列処理で作り出すしかないです。ミリ秒までだと、上記A1 B1の差は出ないですね。マイクロ秒でも無理かも。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセル セルに文字を入力したら別のセルに入力した時間が表示されるようにしたい 3 2023/10/19 03:42
- Excel(エクセル) Excel表示形式 2 2022/09/09 09:57
- Excel(エクセル) エクセルで作った勤怠表に発生する時間の誤差の修正方法を教えていただけないでしょうか? A1セルに出社 6 2023/12/29 13:09
- Excel(エクセル) エクセルの関数に関しての質問です。 5 2022/10/07 11:17
- Excel(エクセル) 隣り合っていないセルを まとめて税込表示したい 8 2022/09/25 14:32
- Excel(エクセル) 【再度】Excelの関数について教えてください。 4 2023/07/28 13:06
- Excel(エクセル) エクセルの時間の計算、何時以下の場合の足し引きに苦戦しています。 2 2022/11/16 16:39
- Excel(エクセル) エクセル 関数について質問です。 2 2022/10/03 11:14
- Excel(エクセル) 勤怠管理で始業時刻を基準に計算させるには? エクセルで勤怠管理表を作成するにあたって、例えば8時30 3 2024/01/04 19:09
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/06/04 09:39
このQ&Aを見た人はこんなQ&Aも見ています
-
カンパ〜イ!←最初の1杯目、なに頼む?
飲み会で最初に頼む1杯、自由に頼むとしたら何を頼みますか? 最初はビールという縛りは無しにして、好きなものを飲むとしたら何を飲みたいですか。
-
これ何て呼びますか
あなたのお住いの地域で、これ、何て呼びますか?
-
「覚え間違い」を教えてください!
私はかなり長いこと「大団円」ということばを、たくさんの団員が祝ってくれるイメージで「大円団」だと間違えて覚えていました。
-
おすすめのモーニング・朝食メニューを教えて!
コメダ珈琲店のモーニング ロイヤルホストのモーニング 牛丼チェーン店の朝食などなど、おいしいモーニング・朝食メニューがたくさんありますよね。
-
好きな和訳タイトルを教えてください
洋書・洋画の素敵な和訳タイトルをたくさん知りたいです!【例】 『Wuthering Heights』→『嵐が丘』
-
【Excel】版が同じ事を示す番号を生成したい
Excel(エクセル)
-
Excelの数値の小数点表示について質問です
Excel(エクセル)
-
エクセル IF計算式?でしょうか?
Excel(エクセル)
-
-
4
2列に入っているデータを1列で表示する関数について
Excel(エクセル)
-
5
Excelの数式の効率化について
Excel(エクセル)
-
6
Excelで数値を時間数に変換する関数について
Excel(エクセル)
-
7
Excelを無料で使うには? パソコン購入して、マイクロソフトに登録して そのままExcelがデスク
Excel(エクセル)
-
8
ある表にフィルターをかけて出てきた記号の個数を知りたいのですが、簡単な関数はないでしょうか?
Excel(エクセル)
-
9
【ExcelVBA】UTF-8(BOM無)でCSV保存するには?
Excel(エクセル)
-
10
考えた式の戻り値が期待通りにならない
Excel(エクセル)
-
11
【マクロ】Ifとwith ステートメントにて分からない部分があります
Excel(エクセル)
-
12
【マクロ】フォルダ内にあるPDFを合体させるには?有料版adobe必要?
Excel(エクセル)
-
13
if関数。半角文字や全角文字で分ける事ができますか?
Excel(エクセル)
-
14
【マクロ】ファイル名の変更について
Excel(エクセル)
-
15
自動入力で今月はMONTH(TODAY())で良いのですが、翌月はどのようにすれば良いでしょうか。
Excel(エクセル)
-
16
数字入力後他の文字等が表示される方法について
Excel(エクセル)
-
17
時間によってファイル名が変わるエクセルをほかのエクセルでデータを参照する方法
Excel(エクセル)
-
18
エクセルで数字の組み合わせを列記したい
Excel(エクセル)
-
19
エクセルのクイックアクセスツールバーには何を登録したら良いですか?罫線を引く「格子・枠なし・外枠」と
Excel(エクセル)
-
20
エクセルでの2項目比較および抽出方法について
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【有効数字について】 授業で、...
-
有効数字計算 確定した値を含む
-
有効数字は最後答えを出すとき...
-
ラジアンの変換について
-
エクセル2010で2進数の計算をす...
-
符号付の整数8ビット…
-
1TBHDDに音楽ファイルは何ア...
-
16bitはダイナミックレンジが97...
-
かけ算(わり算)と足し算(引き算...
-
EXCELでの16進数取り出し、上...
-
携帯電話の略語であるMBって英...
-
EXCEL16進⇒浮動小数変換したい
-
1Mバイトって何バイト?
-
メガバイト/秒、バイト/秒、キ...
-
32bit = 4GB(バイト)?
-
エクセルVBAで xlOn xlOff の切替
-
RPG言語 SQL文とREAD命令、どっ...
-
命令網羅率の計算問題です
-
実行計画の「COST」と「BYTE」...
-
ワードの改行について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【有効数字について】 授業で、...
-
もしコンピューターが2進数か...
-
エクセル2010で2進数の計算をす...
-
1TBHDDに音楽ファイルは何ア...
-
VBAで時間の型と計算方法教えて...
-
かけ算(わり算)と足し算(引き算...
-
16bitはダイナミックレンジが97...
-
有効数字は最後答えを出すとき...
-
有効数字について
-
12万の5%はいくらですか?
-
Excelの時刻の不思議
-
1秒は何ミリ秒とか、単位変換の...
-
【エクセル】四捨五入・二捨三...
-
進数の計算について質問です。 ...
-
有効数字
-
なぜ1と0か?
-
8進数 8進数の47+32の答えを 8...
-
ブルーレイディスクの容量に関...
-
Excelの累乗について式とVBAで...
-
ラジアンの変換について
おすすめ情報