web-dev-qa-db-ja.com

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

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

数字を正しく入力するには,を使わなければならないことを私は理解しています。

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

52
Croo

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

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

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

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

109
fixer1234

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

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

小数点記号は私がすぐに検討するものではありません。なぜなら、誰が小数点記号としてコンマを使用するのでしょうか。それでも、興味深いことに驚くべきことに、世界の半分が実際にそれを使っています( https://en.wikipedia.org/wiki/Decimal_separator )。

しかし、私は43125を数値の 'date'値として認識しました。小数点記号に関する問題を取り上げると、同様の例が1-25になります。これは、Excelが「日付」の値として解釈し、「数値」形式では45658.00となります。もっと紛らわしいのは、Excelではカスタムフォーマットが許可されているため、 'date'値が1.251,25、またはその他の形式で表示されることです。

私は計算のためにスプレッドシートでたくさんの 'date'値を使っていましたが、それらは厄介です。時折、これらのスプレッドシートを再び開くと、Excel(またはOpenoffice)がそれらをよく知っていると思い、自動的にこれらの日付列を '日付'形式から '数値'形式に変換します。このような場合、right-click mouse -> Format Cells -> Numberを使用してセル/列の正しい形式にリセットすると、データが回復します。

3
wtong