Excelの数値タイプが1.25から43125に変更


52

プレーンな新しいExcelシート(2016)を開いて、セルのタイプをNumberに変更し、数値を入力すると、入力1.25した数値がvalueに変更されます43125,001.01またはを入力しても同様の結果が得られますが、入力した1.9場合はそうではありません。1.99これは、テキストまたは少なくとも数値として解析できない何かとして扱われます。

,数字を正しく入力するために使用する必要があることを理解しています。

私の質問は、1.25数字として入力するとどうなりますか?なぜ取得するの43125,00ですか?


1
「セルタイプ」はデータのタイプではないことに注意してください-入力の解釈方法ではなく、データの表示方法にのみ影響します。Excelのすべてのデータはバリアントにあります。
ルアーン

回答:


109

ロケール設定の場合,は、小数点区切り記号であるため、数値を入力するために使用する必要があります。ピリオドを使用すると、入力は数字以外のものとして解釈されます。それは内容によって異なります。

入力したものが有効な日付である可能性がある場合、ピリオドは日付区切り記号として解釈されています。Excelは、1.25が日付(2018年1月25日)であると見なし、内部的には43125(1900年1月0日からの日数)として表されます。

セルを日付ではなく数値としてフォーマットしたため、日付の数値表現が表示されています。デフォルトの小数点以下の桁数は2に設定されており、最後にゼロが表示されます。その日付を表す日カウントで「125」パターンが繰り返されるのは、まったくの偶然です。

1.01と1.9の両方が日付になる可能性があるため、同じことが起こります。ただし、1.99を日付にすることはできないため、入力したリテラル値はテキストとして保存されます。


5
これはExcelでは迷惑です。数字の前に単一のスピーチマークを追加することで回避するため、「1.25」は「1.25」になり、幸いにもExcelはそれを数字として扱います。
ケビンアンソニーオペガードローズ

19
@KevinAnthonyOppegaardRose:この質問では,、小数点記号は、数字を入力する場合は小数点記号を使用する必要があります。他の文字を使用すると、Excelはそれを別の方法で解釈します。
マテユハス

21
@KevinAnthonyOppegaardRoseスピーチマーク 'は、Excelがテキストとして何かを取るようにする方法です。したがって、実際にはそれを数字としてではなくテキストとして処理し、'の後、何かを書くことができ、Excelはそれを解釈または変換しようとしません
fernando.reyes

24
それは呼ばれていますアポストロフィところで
phuclv

2
@EricDuminilそれでは、Excelが型を推測するのは馬鹿げていると思いますが、Excelにさらに推測させることでそれを解決したいと思いますか?何が間違っている可能性があります:)確かに、テーブルの列でも1つのタイプが保持されないのは奇妙ですが、真実は- 人々がExcelをどのように使用するかを見たことがありますか?最終的に、「すべてのコンテキストで同じように動作する」ことは少なくとも一貫しています。また、OPの問題は、ロケールの数値形式を使用していないことについて100%です。Excelは、人々がローカルの数値(など)形式を使用することを期待すべきではないと本当に言いたいのですか。
ルアーン

3

コメントを読んだ後、問題の背後にあるメカニズムが思ったよりも複雑であることに気づきました。まず、小数点記号はコンマであり、完全な区切りではありません。次に、Excelは入力値を「日付」値として分類しますが、「数値」形式を使用してそれを表します。

投稿された問題の解決策の1つは、小数点記号を変更することOptions -> Advanced -> Editing options -> Decimal separatorです。これは、Excelから実行できます。これが修正された場合、Excelは入力値を「日付」値として分類しませんでした。

小数点区切り記号としてコンマを使用するのは誰ですか?しかし、興味深いことに、驚くべきことに、世界の半分が実際に使用しています(https://en.wikipedia.org/wiki/Decimal_separator)。

ただし、43125数値形式の「日付」値として認識しました。小数点区切り文字に関する問題を取り除いた場合、同様の例は1-25、Excelが「日付」値と解釈し、「数値」形式で解釈することです45658.00。もっと紛らわしい「日付」値として現れることができるようにExcelがカスタム書式を可能とすることである1.251,25、または任意の他の形式。

私は計算のためにスプレッドシートで多くの「日付」値を使用しましたが、それらは迷惑な場合があります。これらのスプレッドシートを再度開くと、Excel(またはOpenoffice)は、これらの日付列を「日付」形式から「数値」形式に理由なく自動的に変換することを知っていると思います。これらの状況でright-click mouse -> Format Cells -> Number、セル/列の正しい形式にリセットすると、データが回復します。


いいえ。これはExcelの自動プロセスです。fixer1234からの回答を参照してください
ケビンアンソニーオペガードローズ

1
Excelは入力が「日付」であると見なし、数値形式を「日付」に自動的に変更します。ここで提供したのは、入力が「数値」であることをExcelに「伝え」、形式を正しいものに修正する方法です。
18年

1
最初の段落で何が起こっているのかが欠けていることに同意しません。Eric Duminilのコメントに沿って、それは苦情のようです。「一般」として書式設定された空白のセルに何かを入力すると、Excelは入力の意味を理解するために最善を尽くす必要があることに同意します。しかし、「数値」として書式設定された空白のセルに何かを入力すると、Excelはその入力を数値として解釈するために最善を尽くす必要があるという考え方があります。…(続き)
スコット

(続き)…実装を変更すると問題が解決すると主張する人もいるかもしれません。一方、現在の実装は明確に一貫していません。たとえば、私の英語(米国)システムでは、「一般」として書式設定されたセルに入力し10-2たり10/2、セルに入力すると、「2月」が表示されます。「Number」としてフォーマットされたセルで同じことを実行すると、10-2「43375.00」(「2-Oct-2018」の数値)が表示され10/2ますが、「5.00」が表示されます。…(続き)
スコット

1
@JKreft特定のカテゴリを選択してから無効な値を挿入した場合にのみ、Excelがすべてを実行すると思います。したがって、最初に間違いを犯した場合にのみ、Excelはロバに噛みつきます。ユーザーが無効な入力から何を意味するかを推測することは、単に非常に困難です。
VOO
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.